我和你差不多,现在也在学习ARM ,不过我没有你那么着急的学Linux,我现在在学uCOS2,这个系统稍微简单些,代码少,可裁剪方式简单、可扩展性也强,是初学者学习实践和实际使用的最佳选择。当然,linux也是我的最终目标。我全部的时间都是在看代码,配上《计算机操作系统教程》的书,加上有时就简单的问题实践一下。对操作系统内部代码也没有太深刻的理解,只是在输入输出接口上下功夫。
谈谈我的体会帮自己总结一下,也许对你有帮助。
为实现一个嵌入了操作系统的ARM程序(主要针对uCOS2),首先要把操作系统代码拷入项目目录,改写bootloader,添加要使用设备的驱动,指定接口,指定存储器、指定复位状态,堆栈空间,配置中断等等。然后就是操作系统的设置过程。修改操作系统配置文件,指定操作系统支持的最多事件数量、最大任务数、最大队列控制块数量、优先级范围等等,之后设置上述内容的处理过程,包括目标板初始化程序和异常中断处理程序。这样就把一个没有任何实际的操作系统配置好了。之后就是加入进程、邮箱、任务消息等内容的过程,在main中初始化上述过程。细节太多了。不过学习本身就是慢慢体会的过程,只有在学习的过程中才会有收获,才会有进步。鼓励一下正在学习中的人,Good study,day day up!!
你有在VC上开发上位机软件的基础,我觉得你是不是可以考虑学习Windows CE?有过VC的基础,那么开发嵌入式CE程序进度会快很多。
嵌入式Linux的开发流程具体和PC上的Linux开发相似,只不过多了交叉编译,以及调试起来会麻烦一些