>안녕하세요.
>
>IAR 3.10C을 사용하고 있습니다.
>
>Atmega 128에 1Mbyte의 램을 병렬로 연결하여 총 16Mbyte을 사용합니다.
>물론 mcu에서 봤을 땐 1MByte로 인식하면 됩니다.
>
>그런데 컴파일러에서 xcl 파일을 수정하거나 system메뉴에서 설정을 하면 되는것 같은데
>값을 어떻게 넣어야 하는지 난감합니다.
>xcl에서 외부 메모리 설정방법을 알려주시면 감사하겠습니다.
>
>그리고 xcl이나 내부 option/system에서 수정하는 것이나 같은 것인지도 알고 싶습니다.
>
>그럼.
마이크로비젼입니다.
External Ram 을 사용하는 방법은 xcl 에 잘 소개가 되어있습니다.
아래의 내용을 참고하시고, 변경사양에 대해서 다시한번 체크해보시면 될거 같습니다.
자세한 내용이 필요하시다면, 라이센스 번호와 업체명을 명시해 주십시요.
감사합니다.
/* - lnkm128.xcl -
*
* XLINK command file for the ICCAVR C-compiler using the --cpu=m128, -ms
* options. Segments are defined for an ATmega128 whithout external
* memory. It is also possible to \"add\" external SRAM, EPROM and EEPROM.
*
* Usage: xlink your_file(s) -f lnkm128
*
* File version: $Revision: 1.8 $
*/
/*====================================================*/
/*
* Constants used down below,
* Do not change these lines,
* if it is not stated otherwise
*/
......................... // 삭제
/*
* Change the two lines below to 60(BASE) and FF(TEND)
* if you are running in \"mega103 mode\"
*/
-D_..X_SRAM_BASE=100 /* Start of ram memory */
-D_..X_SRAM_TEND=100 /* End of tiny ram memory */
-D_..X_SRAM_END=10FF /* End of ram memory */
/* Internal EEPROM */
-D_..X_EEPROM_END=FFF /* End of eeprom memory */
/*====================================================*/
......................... // 삭제
/*
* Modify these lines if you have an external SRAM connected to the system.
*
* Note: Remember to turn on the external data and address busses in
* __low_level_init if external memory is used.
*/
-D_..X_EXT_SRAM_BASE=_..X_SRAM_BASE
-D_..X_EXT_SRAM_END=_..X_SRAM_END
......................... // 삭제
/*
* If external SRAM is available it is possible to place the stacks there.
* However, the external memory is slower than the internal so moving the
* stacks to the external memory will degrade the system performance.
*/
-Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_SRAM_BASE-_..X_SRAM_END /* ,_..X_EXT_SRAM_BASE-_..X_EXT_SRAM_END */
-Z(DATA)CSTACK+_..X_CSTACK_SIZE=_..X_SRAM_BASE-_..X_SRAM_END /* ,_..X_EXT_SRAM_BASE-_..X_EXT_SRAM_END */
/*
* If external SRAM is available it might be a good idea to move the
* heap segment there, i.e. remove the _..X_SRAM_BASE-_..X_SRAM_END range.
*/
-Z(DATA)HEAP+_..X_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_END,_..X_EXT_SRAM_BASE-_..X_EXT_SRAM_END
-Z(DATA)IOSTREAM_N#_..X_SRAM_BASE-_..X_SRAM_END,_..X_EXT_SRAM_BASE-_..X_EXT_SRAM_END
-Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_END,_..X_EXT_SRAM_BASE-_..X_EXT_SRAM_END
......................... // 삭제
|