这学期准备参加一下电脑鼠走迷宫比赛。我主要是做程序部分。
首次接触嵌入式,故遇到不少程序上的问题,其中最麻烦的就可以说是在windows 7 x64上开发程序了。困难主要在于
官方提供的工具是TKStudio,这工具用上去不错,但我怎么尝试也没办法把程序烧上去。更别说调试了。
先介绍一下我电脑里与电脑鼠相关的软件吧,供大家参考与指点。
Windows 7 x64 Ultimate sp1 (6.1.7601 Service Pack 1 Build 7601)
TKStudio V4.6.0.3796 (2012-05-15)
RealView MDK-ARM Version: 3.80a
RealView MDK-ARM Version: 4.60.0.0
J-Link V4.15e
硬件:电脑鼠(周立功MicroMouse1752)、J-Link
我最先的解决方案是用J-Flash ARM 烧程序进去。用TKStudio编译好后,把hex文件用J-Flash ARM烧上去。这个倔强可以工作了,但还是没办法调试。
后面就只有想办法把TKStudio工程转为Keil工程了。但由于以前没有多少经验,遇到了不少麻烦,现记录下完整的转换过程。
现以光盘中的 高级实验——SearchMaze 为例记录如下:
打开TKStudio工程,我们可以顺利编译成功。
---------- Build Project: MicroMouse1752, Target: TKDebugInFlash ----------Compiling ".\USER_CODE\main.c" ...Compiling ".\USER_CODE\zlg7289.c" ...Compiling ".\ZY_CODE\zy_if\zy_if.c" ...Compiling ".\ZY_CODE\Startup\LPC1700PinCfg.c" ...Compiling ".\ZY_CODE\Startup\target.c" ...Compiling ".\ZY_CODE\Startup\vector_table.c" ...Compiling ".\cfg_file\Startup\rt_sys_c.c" ...Assembling .\cfg_file\Startup\rt_sys_s.s ...Linking...Program Size: Code=6688 RO-data=248 RW-data=36 ZI-data=1328 FromELF: Creating HEX file .\TKDebugInFlash\LPC17xx.hex....\TKDebugInFlash\LPC17xx.axf - 0 Error(s),0 Warning(s).------------------------------------------------========== 生成: 成功 1 个,失败 0 个 ==========
我们在SearchMaze目录下新建一个Keil(v4.6)工程,并选择相应芯片
不需要添加,选No。
将源文件添加到工程
此时在Keil下编译会发现一个sct文件出现错误
Rebuild target 'Target 1'compiling rt_sys_c.c...assembling rt_sys_s.s...compiling main.c...compiling zlg7289.c...compiling zy_if.c...compiling LPC1700PinCfg.c...compiling target.c...compiling vector_table.c...linking...MicroMouse1752.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST."MicroMouse1752.axf" - 1 Error(s), 0 Warning(s).这时,我们将其改为光盘中提供的sct文件
然后顺利编译成功:
Rebuild target 'Target 1'compiling rt_sys_c.c...assembling rt_sys_s.s...compiling main.c...compiling zlg7289.c...compiling zy_if.c...compiling LPC1700PinCfg.c...compiling target.c...compiling vector_table.c...linking...Program Size: Code=6476 RO-data=248 RW-data=36 ZI-data=1328 "MicroMouse1752.axf" - 0 Error(s), 0 Warning(s).