freescale QorIQ P1020嵌入式开发流程总结


​ 虽然嵌入式开发流程都大致一样,但是不同公司、不同的芯片开发流程总是还有差异的。

​ 之前一直在做ARM的嵌入式开发,一开始上手powerpc总是有些担心,但是上手之后,发现其实和ARM差不多,只不过资料是真的少,可交流的人也不多。

​ 通过大概2个月的摸索,从刚开始的烧录程序都不会,到现在总算把linux跑起来,遇到不少坑,总结一下。


裸机开发环境搭建

  1. 到nxp官网找资料熟悉一下开发环境和大概的开发流程
  2. 搭建裸机开发环境,安装codewarrior,调试好usb tap或者eth tap

硬件验证

  1. 验证芯片是否可以正常工作,创建SRAM程序,debug看是否可以单步运行

  2. 验证DDR参数,使用QCVS工具,验证生成DDR的最佳参数

  3. 验证程序在DDR上的运行,创建RAM程序,根据上一步生成的DDR参数,修改RAM的tcl脚本,debug看是否可以单步

  4. 验证串口,上一步的RAM程序已经可以从串口输出信息了,但是可能不正确,如果不正确,修改codewarrior的serial库,重新编译链接

SDK环境搭建

  1. 从nxp官网找到sdk手册,先大概浏览一遍
  2. 根据手册,下载SDK虚拟机,然后把Yocto的流程走一遍

u-boot移植

  1. 阅读u-boot源码和RM手册,了解芯片启动流程
  2. u-boot中config文件宏含义
  3. 在u-boot源码中找一块p1020的板子,最好与我们的板子相近的,根据这个板子,创建我们自己的单板
  4. 修改自己创建的单板的启动参数,主要是ddr和时钟参数,编译nor启动的bin
  5. 阅读p1020RM手册,研究芯片启动流程,确认芯片启动的必要条件都已达到,确认上电读取第一条指令的eLBC的地址,这个地址就是nor的烧写地址
  6. 根据这个nor的烧写地址,修改我们的tcl文件,然后使用codewarrior烧写u-boot
  7. 串口连接串口,上电看u-boot是否启动成功
  8. 串口打印信息可能比较乱,分析,查看RM
  9. 打印正常后,u-boot没有完全起来,发现是SPD的问题
  10. 移植RTL8211网卡
  11. 移植适配的大小的nor
  12. 移植nand
  13. 移植RTC
  14. 移植sgmii网口,用于与FPGA通信,FPGA部分修改了硬件
  15. 移植LM75A
  16. 了解local bus总线
  17. 调试FPGA selectMap启动
  18. 移植SD卡驱动
  19. 调试PCIE与FPGA通信
  20. 调试u-boot从sd卡启动
  21. 调试u-boot的nor启动参数,RAM文件系统
  22. 调试u-boot的nor启动参数,jffs2文件系统
  23. u-boot更新镜像
  24. u-boot添加新命令的方法
  25. u-boot调试经验总结

Linux kernel移植

  1. 编译下make uImage和make p1020rdb-pd_32b.dtb,出现一些错误,解决掉
  2. make menuconfig裁剪掉一些我们不需要的spi、usb、sound
  3. 尝试启动,mtd错误,修改dts中nor分区
  4. 添加sys gpio接口
  5. rtc移植
  6. RAM文件系统和jffs2文件系统
  7. LM75A移植
  8. NAND移植

文件系统的制作

  1. RAM文件系统的制作
  2. jffs2文件系统的制作

应用软件移植

  1. vtysh的移植

应用软件的开发

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值