arm linux 嵌入式移植问题 10
刚学,我想请问下,移植过程中,哪些类容需要自己写,哪些类容直接用别人的东西,或者只要稍微修改写,我说的是像bootloader,内核,还有其他的东西之类的...
刚学,我想请问下,移植过程中,哪些类容需要自己写,哪些类容直接用别人的东西,或者只要稍微修改写,我说的是像bootloader,内核,还有其他的东西之类的
展开
4个回答
展开全部
在移植过程中,需要自己写的大段代码并不多,甚至说没有自己写的也不过分。大部分都是修改,因为生产ARM芯片的厂家非常多,uboot和Linux其实做的已经很好了,对很多优秀常用的平台都进行了支持。
但是在嵌入式设备中,我们有时候需要自己定制平台自己选cpu自己选外围设备,这样uboot和Linux中提供的各种驱动和配置我们可能就不用上了。这个时候,我们就可能要自己动手去修改uboot和Linux源码了,主要涉及的大部分都是驱动代码。修改这些代码的基础,除了要对C语言有一定的了解而且对外围硬件的工作原理也要有一定的了解,这些东西可以通过阅读硬件的spec来学习。
uboot中你可以选择一个接近你用的平台的方案,通过修改它来得到你自己的uboot。一般要修改的有串口,电源管理、部分时钟、网卡驱动,nand和ddr的驱动有时可能还要用到lcd,一般在uboot启动过程中其他设备用不到,所以这时候可以不驱动。
kernel中修改的就多了,首先为保证系统能正常启动。选择接近的方案然后要确定uboot中设置的那些设备还能正常工作,然后在针对你的平台的设计去一步步完成剩下设备的驱动,以保证系统能正常运行。
但是在嵌入式设备中,我们有时候需要自己定制平台自己选cpu自己选外围设备,这样uboot和Linux中提供的各种驱动和配置我们可能就不用上了。这个时候,我们就可能要自己动手去修改uboot和Linux源码了,主要涉及的大部分都是驱动代码。修改这些代码的基础,除了要对C语言有一定的了解而且对外围硬件的工作原理也要有一定的了解,这些东西可以通过阅读硬件的spec来学习。
uboot中你可以选择一个接近你用的平台的方案,通过修改它来得到你自己的uboot。一般要修改的有串口,电源管理、部分时钟、网卡驱动,nand和ddr的驱动有时可能还要用到lcd,一般在uboot启动过程中其他设备用不到,所以这时候可以不驱动。
kernel中修改的就多了,首先为保证系统能正常启动。选择接近的方案然后要确定uboot中设置的那些设备还能正常工作,然后在针对你的平台的设计去一步步完成剩下设备的驱动,以保证系统能正常运行。
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
展开全部
如果是标准平台的话, "像bootloader,内核" 都可以直接拿来主义, 除非接口和 IO 那些跟谁都不一样, 才需要自己根据硬件手册写驱动, 在有相同或相似系列时 "只要稍微修改写"; 若有屏幕界面的操作时, 视频部分还 ...
追问
sky哥,我用的友善之臂mini2440算不算标准平台,还有你说的屏幕界面操作还没有说完呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主要是 内核驱动部分 你的那个板子跟天嵌的板子都一样 给的内核两块板子都可以用 你是准备学东西的 你想做哪部分 哪部分就需要你写 底层驱动 qt界面 等等 我看不懂你的问题
追问
bloo哥 我再问一个问题 顶层自己的应用程序(比如点亮led)的编写是不是需要参考led驱动程序的内容呢?也就是说,如果不同的人编写的同一个(点亮led)驱动程序,那么应用程序也不一样啊?
追答
这么说吧 其实他就跟windows上面写程序一样 就说点亮一个led这个事 裸机写是配置一样端口 输出高电平或者低电平 让等亮 驱动是在这基础上加上一些内核的东西 你写顶层程序的时候就不需要 知道这些 他们提供的借口比如说 你给一个 on 他就亮 off 他就不亮
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般是不用修改代码的 需要注意版本号、兼容性、Makefile文件的修改之类的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询