1 先在keil安装目录下新建workspace,然后在其中新建工程所在的目录yc2440
2 打开Keil uVision4,新建工程,选择CPU, 复制启动代码到我的工程文件里,保存在刚才的目录yc2440下
3 新建main.c,然后加入到工程中,添加两个项目组src,inc
4在项目所在的磁盘文件夹下,建立三个文件夹。Config(配置 Keil) 、output(编译输出的)和 list(输出的杂文件)。分别用来存放工程的配置文件、工程的编译输出文件和编译产生的列表文件。
5 Ext_RAM.ini 复制到上面的config文件夹。并打开该文件,根据实际目录做如下修改
下面的行 go main,表示调试程序在调试的时候,直接跳转到 C的 main函数。而不是汇编的入口处。
6在 config文件夹中,创建俩文本文件RunInFlash.sct,其内容如下
7在 config文件夹下建立一个文件RunInRAM.sct,如果想让程序烧入 nor能执行,建议用 runinflash ,其内容如下
8 设置工程,OUTPUT,LISTING选项,这个是习惯,不重要
9用SDRAM调试是一个不错的方式, 可以有效的减少Flash的擦写, 方便又快捷,在SDRAM里面调试的时候是这样设置的,主要是ROM1和RAM1的起始地址,下图中我把size改成0x100 0000
10 使用Jlink-Flasher烧写生成下载到NAND的bin文件,就要在USER选项里面设置,另外重新设置ROM,RAM,
设置好编译就可以生成需要的bin文件了, 就在你的工程目录OUTPUT下, 下载的方式和TQ2440裸奔教程那里一开始说的是一样的, 用secureCRT和DNW
烧写NAND需要这样配置一下生成bin:
fromelf.exe转换工具的语法格式如下:
Run User Programs After Build/Rebuild框中的Run #1多选框,在后边的文本框中输入
D:\Program Files\Keil\ARM\BIN40\fromelf.exe--bin --output ./ex1.bin ./obj_list/ex1.axf
命令行;
红色部分为fromelf.exe的绝对地址,根据自己的实际情况填写,我的keil是安装在D盘的。
蓝色部分为选项,不用更改。
绿色部分是生成的bin文件路径及文件名,我设置为工程根目录下,文件名为ex1.bin。
橙色部分为axf文件的路径,根据实际情况设置,我的是在obj_list文件夹下。
C/C++,ASM选项里面要设置Includ PATH
Ext_RAM.ini直接复制到你的工程目录config下
11设置utilities这里添加了烧写算法的, 其实在烧NOR Flash那里我才需要这个, 这个算法是不能擦除的, 但是这里我找不到合适的算法,就用这个相近的了, 要擦除的话就用JFlash
烧写NOR Flash时要这样配置:
联系客服