如题,实现过程中发现3额问题,先写下来,待解答:
1、uboot启动后再dnw上打印许多信息,我想改变其中的打印信息或加上自己的打印信息以证明程序运行到何处。修改完后重新编译uboot.bin。
在DNW下执行dnw 50008000 USB下载uboot.bin到内存50008000处, go 50008000,从内存50008000处运行我刚下载的程序,发现我修改的内容并未显示。
重新执行dnw 50008000,nand erase 0 100000,nand write.uboot 50008000 0 100000,后从nand直接启动,发现我修改的内容被打印出来了。
总结:可能的原因:1、程序下载到50008000,但50008000处并非有执行命令。2、确实从50008000处执行了,但uboot.bin里的start.s会调用原来nand里的uboot.bin执行
2、uboot里有个examples文件夹里有hello_world应用程序(姑且这么说吧):
我dnw 50008000 hello_world.bin,go 50008000,执行后重启了。
看了makefile里LOAD_ADDR = 0xc100000,dnw c10000 hello_world.bin,go c1008000,执行后停住了
然后又看了半天makefile,太繁琐,无果,没解决掉。
3、自己写了个hello.c
dnw 50008000 ,go 50008000,运行ok,打印出hello world.
printf函数是