개발환경은 IAR의 EWARM으로 꾸미고자 합니다.
구하기도 쉬울 뿐더러 많이들 사용하고 있으니깐...
하지만 문제가 발생~ IAR EWARM 버전이 계속 업데이트 되면서..
최신 칩인 CC2538의 경우 TI에서 제공해주는 예제들의 경우엔 최신 버전으로 작성되어 있네요.
ARM 6.30 버전 이후 어느 버전부터는 라이센스를 꼭 인터넷으로 확인하도록 바뀌었습니다.
예전엔 그냥 웹 사이트에서 신청만하면 30일짜리 라이센스를 계속 제공해주었는데..
이젠 그것도 어려워진건지..
따라서 최신 칩인 CC2538만 이전 버전에서 컴파일할 수 있도록 해주면 되지 않을까? 시도를 해봅니다.
1. C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\config\debugger\TexasInstruments 폴더 카피
2. C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\config\devices\TexasInstruments 폴더를 지우고 카피
3. C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\config\flashloader\TexasInstruments 폴더 카피
4. C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\config\linker\TexasInstruments 폴더 카피
이렇게 한 다음 워크스페이스 파일을 불러와도..
이전 버전에서 만들어진 파일 형식이 틀려서인지 로딩할때 에러 발생함..
프로세서 선택하는 건 뜨지만 컴파일하고 제대로 플래쉬에 꾸워지고 동작할런지는..
개발보드에서 직접 테스트해보아야함..
일단 상위버전의 옵션 창을 보고 전부 그대로 배껴오기로 함..
기본 설정이랑 바뀌는 부분
===================================================================================================
- General Options → Target → Device → TexasInstruments CC2538SF53
- C/C++ Compiler → Language 1 → C dialect → C99 → C++ inline semantics에 체크
- C/C++ Compiler → Optimizations → Level → High → Size → Enabled transformations 에 항목에 있는 것들을 모두 체크
- C/C++ Compiler → Preprocessor → Additional include directories: (one per line) 에 아래 항목 추가
$PROJ_DIR$\..\Source
$PROJ_DIR$\..\..\Source
$PROJ_DIR$\..\..\..\Zmain\TI2538DB
$PROJ_DIR$\..\..\..\..\..\Components\hal\include
$PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2538
$PROJ_DIR$\..\..\..\..\..\Components\driverlib\cc2538\inc
$PROJ_DIR$\..\..\..\..\..\Components\driverlib\cc2538\source
$PROJ_DIR$\..\..\..\..\..\Components\sdriverlib\cc2538\source
$PROJ_DIR$\..\..\..\..\..\Components\bsp\srf06eb_cc2538\drivers\source
$PROJ_DIR$\..\..\..\..\..\Components\mac\include
$PROJ_DIR$\..\..\..\..\..\Components\mac\high_level
$PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf05\single_chip
$PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf05
$PROJ_DIR$\..\..\..\..\..\Components\mt
$PROJ_DIR$\..\..\..\..\..\Components\osal\include
$PROJ_DIR$\..\..\..\..\..\Components\services\sdata
$PROJ_DIR$\..\..\..\..\..\Components\services\saddr
$PROJ_DIR$\..\..\..\..\..\Components\stack\af
$PROJ_DIR$\..\..\..\..\..\Components\stack\nwk
$PROJ_DIR$\..\..\..\..\..\Components\stack\sapi
$PROJ_DIR$\..\..\..\..\..\Components\stack\sec
$PROJ_DIR$\..\..\..\..\..\Components\stack\sys
$PROJ_DIR$\..\..\..\..\..\Components\stack\zcl
$PROJ_DIR$\..\..\..\..\..\Components\stack\zdo
$PROJ_DIR$\..\..\..\..\..\Components\zmac
$PROJ_DIR$\..\..\..\..\..\Components\zmac\f8w
- C/C++ Compiler → Preprocessor → Defined symbols: (one per line) 에 아래 항목 추가
ewarm
ZTOOL_P1
MT_TASK
MT_SYS_FUNC
MT_ZDO_FUNC
LCD_SUPPORTED=DEBUG
CC2538_USE_ALTERNATE_INTERRUPT_MAP=1
TC_LINKKEY_JOIN
ZCL_DOORLOCK (옵션)
ZCL_REPORT (옵션)
- C/C++ Compiler → Diagnostics → Suppress these diagnostics: 에 Pa082 항목 추가
- C/C++ Compiler → Extra Options → Command line options: (one per line) 에 아래 항목 추가
-f $PROJ_DIR$\..\..\..\Tools\CC2538DB\f8wConfig_HA.cfg
-f $PROJ_DIR$\..\..\..\Tools\CC2538DB\f8wCoord.cfg
-f $PROJ_DIR$\..\..\..\Tools\CC2538DB\f8wZCL.cfg
※ f8wConfig_HA.cfg 파일을 추가해야하나? 고민중임..
- Linker → Config → Linker configuration file → Override default에 체크 → $PROJ_DIR$\..\..\..\Tools\CC2538DB\CC2538.icf 입력
- Linker → Library → Automatic runtime library selector에 체크 → Additional libraries 에 아래 항목 추가
$PROJ_DIR$\..\..\..\Libraries\CC2538\bin\Router.a
$PROJ_DIR$\..\..\..\Libraries\TIMAC\bin\TIMAC-CC2538.a
$PROJ_DIR$\..\..\..\..\..\Components\driverlib\cc2538\bin\iar\sdriverlib.lib
$PROJ_DIR$\..\..\..\..\..\Components\bsp\srf06eb_cc2538\drivers\bin\iar\bsp.lib
→ Override default program entry에 체크 → Entry symbol에 __iar_program_start 입력
- Linker → List → Generate linker map file 에 체크
- Debugger → Setup → Driver에서 "TI XDS100"을 선택
- Debugger → Download → Verify download에 체크 → Use flash loader(s)에 체크
- TI XDS100 → Setup → Emulator → Board file에 "$TOOLKIT_DIR$\config\debugger\TexasInstruments\xds\CC2538_XDS100v3c2.dat"를 입력
===================================================================================================
이렇게 하면 빌드는 이상없이 되는데..
디버깅이 잘 될지 모르겠네요.
별 이상없이 잘되지 않을런지... 안되면 그냥 디버거를 바꿔서 연결해야죠.. ^^;
CC2538DK를 구매하는대로 테스트를 해봐야겠습니다.
번호 | 제목 | 닉네임 | 조회 | 등록일 |
---|---|---|---|---|
3 | [2014-02-15] 향후 진행 방향에 대한 논의 [1] | just4you |
11298 | 2014-03-17 |
CC2538DK 개발 환경 설정하기. [1] | just4you |
8013 | 2013-08-02 | |
1 | Z-Stack HomeAutomation SampleLight 소스 포팅 작업 | just4you |
8155 | 2013-04-26 |