你还在傻乎乎的用这种方法来运行裸机程序吗?
开发板用norflash启动,通过norflash里的supervivi辅助软件将led.bin裸机程序烧写进nandflash里面,然后运行它?这种办法耗时,而且nandflash里面的东西都会被擦除掉!鸡肋的办法,但是培训机构或网上的视频教程都是这样不辞辛劳的下载裸机程序!
这种方法的详细步骤:
1.
从nor flash启动
2.
通过supervivi的d命令用v命令是把程序下载到SDRAM就是内存的起始地址0x3000000中
其实v命令的过程是通过虚拟机的DNW先把程序下载到SDRAM中,然后执行了nand写操作,把0x30000000开始的那段代码复制到 了nandflash的0地址处。这样就把代码下载到了nandflash中。然后再从nandflash重新启动,这样stepingston中就是nandflash中的代码了,裸机程序能正常运行了。
下面我介绍我今天偶然发现的另一种tftp方法
1
首先虚拟机开启tftp服务,将编译好的程序放到tftp服务器的下载目录下
2
开发板norflash启动,前提是你的开发板norflash里用jlink下载好了u-boot, 下载裸机程序到开发板的内存里[u-boot@SMDK2440A]#tftp 30000000 led.bin
再通过u-boot的go命令启动一个应用程序[u-boot@SMDK2440A]# go30000000就可以运行程序了