1.开发程序的流程,也是一般程序的开发流程:编辑文件,编译链接环境,烧写并测试程序。
2.在windows下有ADS,IAR,KEIL等开发工具,而这一类开发工具称为IDE,集成开发环境,一般这类开发工具在新建工程之后,都会帮你把启动代码加上,只要自己从main函数写。如果写应用程序的话,我会首选IDE来开发,但是现在我们写的是最底层的程序,和硬件相关的,这个时候就应该深入的更多。这里并不是说IDE不好,只是说哪个更合适而已,别无它意。
3.而在linux下编辑器推荐用vim,编译链接用arm-linux-gcc。我原来也认为一个程序必须要有main函数,但是为什么就不知道了。我在用过arm-gcc这一套东西后。我意识到main是怎么来的。实际上就是在start.s 的启动代码里面有句跳转到main函数,其实你可以在.c文件中写个test()这个函数,在start.s中写跳转到test就可以了。这样一个没有main函数的c程序就出炉了。具体后面的日志说。
4.一般一个arm的程序由启动代码和c文件组成,也可以只有汇编的启动代码。启动代码就是做硬件的初始化,和调用c函数。
5.这个区别的日志我只想说linux下开发arm程序更适合了解原理。接下来我会说下Windows下RVDS的新建裸机工程,和Linux下怎么开发裸机工程。
凌晨了,睡觉去,明天继续写。待续。
本文详细阐述了嵌入式硬件开发的流程,包括编辑、编译、链接、烧写和测试,并对比了Windows下ADS、IAR、KEIL等IDE与Linux下vim和arm-linux-gcc的开发工具应用。介绍了启动代码的重要性,以及如何在没有main函数的情况下运行C程序。同时,还讨论了Windows和Linux下开发裸机工程的方法差异。
525

被折叠的 条评论
为什么被折叠?



