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下怎么开发裸机工程。

凌晨了,睡觉去,明天继续写。待续。

更多推荐

ok6410-第03篇-Windows和Linux下开发的区别