UST-MPB-Atmega128 v1.0 "2개"

74HC573을 이용한 어드레스 래치를 제공함으로서 주변 장치를 늘려 사용하기에 편리하도록 제작됨

[링크 : http://www.us-technology.co.kr/product/product_main.asp?mode=101&smode=2]


UST-MPB-Atmega128 v3.0

32KByte 외부램 장착을 통한 메모리 확장

74HC573을 이용한 어드레스 래치를 제공함으로서 주변 장치를 늘려 사용하기에 편리하도록 제작됨

[링크 : http://www.us-technology.co.kr/product/product_main.asp?mode=101&smode=9]


GS-08A (Atmega8)

[링크 : http://www.gersangin.com/shop/goods/goods_view.php?&goodsno=1092&category=025]


MEGA128_XBee

[링크 : http://www.cpuplaza.co.kr/goods_detail.php?goodsIdx=446]



'embeded > AVR (ATmega,ATtiny)' 카테고리의 다른 글

클론 avrisp avr studio 6 호환성(?)  (0) 2016.03.07
AVR ISP 부활의 조짐?!  (0) 2016.03.05
싸이피아 USBASP 손보기...?  (0) 2016.03.05
wiring  (0) 2016.02.29
Arduino Uno freeRTOS 강좌  (0) 2015.11.11
Posted by 구차니

usbasp는 avr studio 4.x 대에서 인식이 안되는데

2008년 펌웨어가 avr studio4 에서 지원을 한다지만 좀 불안하다고 한다.

그냥 버전을 올려서 avrdude를 쓰는것도 방법이지만.. 아무래도 귀찮으니

[링크 : http://www.avrfreaks.net/forum/usbasp-avr-studio-new] 


AVR910은 문서명이네..

[링크 : http://www.atmel.com/images/doc0943.pdf]


아무튼 PC6와 PB2 가 연결되어 있어야 셀프 프로그래밍이 가능하다는데


[링크 : http://www.fischl.de/usbasp/]


핀위치 확인하고

[링크 : http://www.atmel.com/images/atmel-2486-8-bit-avr-microcontroller-atmega8_l_datasheet.pdf]


제품을 보니 다행히도 비아로 뚫어 놓고 후면에 UP이라고 똭!




걍.. 업데이트 해보고 마음편하게 avrdude로 구으면서 해야하나.. ㅠㅠ

It is AVR910 Programmer. used with AVRProg in AVRstudio4. From i test, It does not stably, some time had problem with driver.


No. There is no mechanism for usbasp to work with Studio4. I know nothing about Studio5.

Usbasp is normally 'driven' by avrdude.exe which is a regular commandline program.

For a programmer to 'work' with Studio4 'Connect Programmer', it must appear as if it is a genuine Atmel programmer. e.g. give the correct ID and respond to the protocol.

I can only guess that a 'special_usbasp' would impersonate a AVRISP-2, parse the AVRISP-2 commands and then send the real usbasp commands. Then return any AVRISP-2 type errors. This whole procedure is fraught with problems. You might just as well buy an AVRISP-2 in the first place.

OTOH, if you use an 'external' Makefile with a Studio project, you can do anything you want.

David.

[링크 : http://www.avrfreaks.net/forum/usbasp-avr-studio-new] 


'embeded > AVR (ATmega,ATtiny)' 카테고리의 다른 글

AVR ISP 부활의 조짐?!  (0) 2016.03.05
보유중인 avr 보드목록  (0) 2016.03.05
wiring  (0) 2016.02.29
Arduino Uno freeRTOS 강좌  (0) 2015.11.11
마우스 DIY 자료  (0) 2015.09.23
Posted by 구차니
embeded/AVR (ATmega,ATtiny)2016. 2. 29. 14:27

wiring은 AVR용


[링크 : http://wiring.org.co/]

[링크 : http://wiring.org.co/reference/]

'embeded > AVR (ATmega,ATtiny)' 카테고리의 다른 글

보유중인 avr 보드목록  (0) 2016.03.05
싸이피아 USBASP 손보기...?  (0) 2016.03.05
Arduino Uno freeRTOS 강좌  (0) 2015.11.11
마우스 DIY 자료  (0) 2015.09.23
키보드 DIY 자료  (0) 2015.09.23
Posted by 구차니
embeded/Cortex-M3 Ti2016. 2. 18. 14:57

master 인터럽트를 disable 하면 어떻게 작동할까?

우연히 그 타이밍에 발생할 인터럽트가 있었다면.. pending 될까? 아니면 그냥 잊혀지는걸까?



SW-DRL-UG-6288.pdf


13.2.2.3 IntMasterDisable

Disables the processor interrupt.

Prototype:

tBoolean

IntMasterDisable(void)

Description:

Prevents the processor from receiving interrupts. This does not affect the set of interrupts

enabled in the interrupt controller; it just gates the single interrupt from the controller to the

processor.

Note:

Previously, this function had no return value. As such, it was possible to include interrupt.h

and call this function without having included hw_types.h. Now that the return is a

tBoolean, a compiler error will occur in this case. The solution is to include hw_types.h

before including interrupt.h.

Returns:

Returns true if interrupts were already disabled when the function was called or false if they

were initially enabled.


13.2.2.4 IntMasterEnable

Enables the processor interrupt.

Prototype:

tBoolean

IntMasterEnable(void)

Description:

Allows the processor to respond to interrupts. This does not affect the set of interrupts enabled

in the interrupt controller; it just gates the single interrupt from the controller to the processor.

Note:

Previously, this function had no return value. As such, it was possible to include interrupt.h

and call this function without having included hw_types.h. Now that the return is a

tBoolean, a compiler error will occur in this case. The solution is to include hw_types.h

before including interrupt.h.

Returns:

Returns true if interrupts were disabled when the function was called or false if they were

initially enabled.


13.2.2.5 IntPendClear

Unpends an interrupt.

Prototype:

void

IntPendClear(unsigned long ulInterrupt)

Parameters:

ulInterrupt specifies the interrupt to be unpended.

Description:

The specified interrupt is unpended in the interrupt controller. This will cause any previously

generated interrupts that have not been handled yet (due to higher priority interrupts or the

interrupt no having been enabled yet) to be discarded.

Returns:

None.


13.2.2.6 IntPendSet

Pends an interrupt.

Prototype:

void

IntPendSet(unsigned long ulInterrupt)

Parameters:

ulInterrupt specifies the interrupt to be pended.

Description:

The specified interrupt is pended in the interrupt controller. This will cause the interrupt con

troller to execute the corresponding interrupt handler at the next available time, based on the

current interrupt state priorities. For example, if called by a higher priority interrupt handler,

the specified interrupt handler will not be called until after the current interrupt handler has

completed execution. The interrupt must have been enabled for it to be called.

Returns:

None.



interrupt.c


tBoolean

IntMasterEnable(void)

{

    //

    // Enable processor interrupts.

    //

    return(CPUcpsie());

}


tBoolean

IntMasterDisable(void)

{

    //

    // Disable processor interrupts.

    //

    return(CPUcpsid());

}


void

IntEnable(unsigned long ulInterrupt)

{

    //

    // Check the arguments.

    //

    ASSERT(ulInterrupt < NUM_INTERRUPTS);


    //

    // Determine the interrupt to enable.

    //

    if(ulInterrupt == FAULT_MPU)

    {

        //

        // Enable the MemManage interrupt.

        //

        HWREG(NVIC_SYS_HND_CTRL) |= NVIC_SYS_HND_CTRL_MEM;

    }

    else if(ulInterrupt == FAULT_BUS)

    {

        //

        // Enable the bus fault interrupt.

        //

        HWREG(NVIC_SYS_HND_CTRL) |= NVIC_SYS_HND_CTRL_BUS;

    }

    else if(ulInterrupt == FAULT_USAGE)

    {

        //

        // Enable the usage fault interrupt.

        //

        HWREG(NVIC_SYS_HND_CTRL) |= NVIC_SYS_HND_CTRL_USAGE;

    }

    else if(ulInterrupt == FAULT_SYSTICK)

    {

        //

        // Enable the System Tick interrupt.

        //

        HWREG(NVIC_ST_CTRL) |= NVIC_ST_CTRL_INTEN;

    }

    else if((ulInterrupt >= 16) && (ulInterrupt <= 47))

    {

        //

        // Enable the general interrupt.

        //

        HWREG(NVIC_EN0) = 1 << (ulInterrupt - 16);

    }

    else if(ulInterrupt >= 48)

    {

        //

        // Enable the general interrupt.

        //

        HWREG(NVIC_EN1) = 1 << (ulInterrupt - 48);

    }

}


void

IntDisable(unsigned long ulInterrupt)

{

    //

    // Check the arguments.

    //

    ASSERT(ulInterrupt < NUM_INTERRUPTS);


    //

    // Determine the interrupt to disable.

    //

    if(ulInterrupt == FAULT_MPU)

    {

        //

        // Disable the MemManage interrupt.

        //

        HWREG(NVIC_SYS_HND_CTRL) &= ~(NVIC_SYS_HND_CTRL_MEM);

    }

    else if(ulInterrupt == FAULT_BUS)

    {

        //

        // Disable the bus fault interrupt.

        //

        HWREG(NVIC_SYS_HND_CTRL) &= ~(NVIC_SYS_HND_CTRL_BUS);

    }

    else if(ulInterrupt == FAULT_USAGE)

    {

        //

        // Disable the usage fault interrupt.

        //

        HWREG(NVIC_SYS_HND_CTRL) &= ~(NVIC_SYS_HND_CTRL_USAGE);

    }

    else if(ulInterrupt == FAULT_SYSTICK)

    {

        //

        // Disable the System Tick interrupt.

        //

        HWREG(NVIC_ST_CTRL) &= ~(NVIC_ST_CTRL_INTEN);

    }

    else if((ulInterrupt >= 16) && (ulInterrupt <= 47))

    {

        //

        // Disable the general interrupt.

        //

        HWREG(NVIC_DIS0) = 1 << (ulInterrupt - 16);

    }

    else if(ulInterrupt >= 48)

    {

        //

        // Disable the general interrupt.

        //

        HWREG(NVIC_DIS1) = 1 << (ulInterrupt - 48);

    }

}


cpsid / cpsie 어셈블리 인스트럭션을 통해서 마스터 인터럽트를 제어한다.



SetEnable() 시에는 EN0를


SetDisable() 시에는 DIS0를 사용한다.


용도를 찾지 못한.. 이 펜딩.. 머지?



[링크 : http://www.ti.com/lit/ds/spms037g/spms037g.pdf]



음.. disabled interrupt를 펜딩으로 상태를 설정한다?

즉, enable/disable/pending 세가지 상태 중 하나만 가능한건가?


Writing 1 to the ISPR bit corresponding to:

an interrupt that is pending has no effect

a disabled interrupt sets the state of that interrupt to pending.

[링크 :http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/Cihjjifh.html]

'embeded > Cortex-M3 Ti' 카테고리의 다른 글

ekc-lm3s811 를 ICDI로 사용하기  (0) 2016.08.27
cortex-m3 hibernate module...  (0) 2016.04.14
uart tx interrupt  (0) 2015.12.18
coflash 구조 및 에러 메시지..  (0) 2015.12.11
ADCHardwareOversampleConfigure()  (0) 2015.11.17
Posted by 구차니
embeded/raspberry pi2016. 1. 5. 09:43

에뮬레이터 배포판(?)


[링크 : http://blog.petrockblock.com/retropie/]

[링크 : http://blog.petrockblock.com/retropie/retropie-downloads/]

'embeded > raspberry pi' 카테고리의 다른 글

지름신 강림! - 라즈베리 2b(본체만)  (0) 2016.03.10
라즈베리 3B?  (0) 2016.03.06
openELEC 6.0.0 릴리즈  (0) 2016.01.03
라즈베리 2b lirc + openELEC 설정  (0) 2015.12.12
라즈베리 파이 zero...???  (0) 2015.11.27
Posted by 구차니
embeded/raspberry pi2016. 1. 3. 20:28

그래서.. TED 라던가..

각종 플러그 인들이 요 근래부터 설치가 안된걸려나?


Published: Sunday, 01 November 2015 23:21


The OpenELEC team is proud to announce OpenELEC 6.0 (6.0.0)


The most visible change is Kodi 15.2 (Isengard). Beginning with Kodi 15.0 most audio encoder, audio decoder, PVR and visualisation addons are no longer pre-bundled into OpenELEC but can be downloaded from the Kodi addon repo if required. PVR backends such as VDR and TVHeadend will install needed dependencies automatically. For further information on Kodi 15.1 please read http://kodi.tv/kodi-15-2-isengard-final-release/.


[링크 : http://openelec.tv/news/22-releases/172-release-openelec-6-0-released]



언어 추가 설치 부터 되는게 없네 -_-

수동으로 zip 파일 받아서 addon 설치 하듯 해야 한다 -_-

'embeded > raspberry pi' 카테고리의 다른 글

라즈베리 3B?  (0) 2016.03.06
레트로 파이(retropie)  (0) 2016.01.05
라즈베리 2b lirc + openELEC 설정  (0) 2015.12.12
라즈베리 파이 zero...???  (0) 2015.11.27
라즈베리 파이 Zero @ 5$ ?!?!?  (2) 2015.11.26
Posted by 구차니
embeded/ARM2015. 12. 30. 14:25

집에 있는 DS213j가 armv7 계열인데

문득 보다 보니 feature에 neon이 없는걸 발견


> cat /proc/cpuinfo

Processor       : Marvell PJ4Bv7 Processor rev 1 (v7l)

BogoMIPS        : 1196.85

Features        : swp half thumb fastmult vfp edsp vfpv3 vfpv3d16 tls

CPU implementer : 0x56

CPU architecture: 7

CPU variant     : 0x1

CPU part        : 0x581

CPU revision    : 1


Hardware        : Marvell Armada-370

Revision        : 0000

Serial          : 0000000000000000


검색을 해보니... 

스펙 시트에도 vfp 언급은 있어도 neon은 없어서 다시 검색..

[링크  : http://www.marvell.com/embedded-processors/armada-370/]


엥? 375는 neon 첨가! 370은 없어영~ 라고?!?!

The Armada 375 resembles the Armada 370, which has one of Marvell’s ARMv7-compatible PJ4 cores running at 1.2GHz. Although this home-grown CPU is clocked 20% faster than the 375’s Cortex-A9 cores, it lacks Neon extensions and has a less capable version of the VFP unit.


[링크 : http://www.linleygroup.com/newsletters/newsletter_detail.php?num=5010]

'embeded > ARM' 카테고리의 다른 글

j-link segger j-flash  (0) 2016.09.02
ulink flashmagic  (0) 2016.09.02
jtag/swd pullup & pulldown  (0) 2015.12.17
jtag과 swd  (0) 2015.12.14
비글본 github 저장소  (0) 2015.10.30
Posted by 구차니
embeded/Cortex-M3 Ti2015. 12. 18. 16:54

lm3s1607 데이터 시트

TxFIFO가 있는데 이녀석에서 Transmitter로 한 바이트가 보내지면 TX 인터럽트가 떨어진다.

그런 이유로 가장 마지막 바이트가 UART를 통해 보내지는 시점에 (다음 바이트를 받기 위해) TX 인터럽트가 발생한다.

그래서 485 등을 사용시에는 TX 인터럽트 떨어졌다고 바로 TX Enable을 꺼버리면 안된다.



'embeded > Cortex-M3 Ti' 카테고리의 다른 글

cortex-m3 hibernate module...  (0) 2016.04.14
cortex-m3 인터럽트 관련 조사  (0) 2016.02.18
coflash 구조 및 에러 메시지..  (0) 2015.12.11
ADCHardwareOversampleConfigure()  (0) 2015.11.17
lm3s811 / lm31968 adc 사양비교  (0) 2015.11.17
Posted by 구차니
embeded2015. 12. 17. 16:36

대충 보면 어셈인줄 알았는데.. 스크립트라네...


[링크 : http://wiki.osdev.org/Linker_Scripts]


[링크 : http://www.scoberlin.de/content/media/http/informatik/gcc_docs/ld_3.html]

[링크 : http://korea.gnu.org/manual/release/ld/ld-mahajjh/ld_3.html]

'embeded' 카테고리의 다른 글

PCB 마킹 의미  (0) 2016.07.28
COM26T2844VTX 관련...  (0) 2016.03.16
시리얼 저항 / 직렬 저항 / 댐핑 저항  (0) 2015.12.17
microchip PIC  (0) 2015.09.08
9$ computer C.H.I.P?  (0) 2015.05.27
Posted by 구차니
embeded2015. 12. 17. 14:30

이게 다 같은 건가?


일단 이걸 쓰는 이유는

1. 전류제한

2. 임피던스 매칭으로 노이즈 제거

3. 전압변경(좋은 방법은 아니지만)

등등등...


[링크 : http://programfrall.tistory.com/43]

[링크 : http://pcbee.tistory.com/entry/직렬series-저항-값에-대한-고찰]

[링크 : http://blog.naver.com/rlaghlfh/110127337569] 댐핑 저항

[링크 : http://www.solvline.com/technical_info/tech_note_view.php?no=24] 종단 저항(terminator)

'embeded' 카테고리의 다른 글

COM26T2844VTX 관련...  (0) 2016.03.16
링커 스크립트 문법(ld syntax)  (0) 2015.12.17
microchip PIC  (0) 2015.09.08
9$ computer C.H.I.P?  (0) 2015.05.27
PowerQUICC  (0) 2015.04.02
Posted by 구차니