Freescale QorIQ P1020
文章平均质量分 83
powerpc开发的人越来越少了,qq上加几个交流群,只有200多人,所以我把我开发的经验分享出来,希望在研究QorIQ的你少掉点头发,少走弯路。当然仅供参考,特别有技术含量的我也不会共享。总之,遇到问题仔细看手册,去nxp官网找。最后,希望大家共同研究共同进步
无名小卒~
一名程序员
展开
-
QCVS配置编译设备树
创建device-tree项目在虚拟机中打开QCVS,/opt/Freescale/QorIQ_Configuration_Suite_4.2.1/eclipse/eclipse点击File->New->QorIQ Configuration Project填写Project name,然后next。devices界面选择处理器,我的是p1020,然后ne...原创 2020-02-26 16:14:46 · 833 阅读 · 0 评论 -
P1020 kernel编译
其中遇到问题参考了:http://blog.chinaunix.net/uid-20083252-id-5147516.html?tdsourcetag=s_pcqq_aiomsg设置环境变量$ source /opt/fsl-networking/QorIQ-SDK-V1.8/environment-setup-ppce500v2-fsl-linux-gnuspe$ unset LDFLA...原创 2020-02-26 16:14:07 · 443 阅读 · 0 评论 -
u-boot添加新命令的方法
转载至:https://www.cnblogs.com/wulei0630/p/6658704.html具体实现步骤在./common文件夹下新建cmd_led.c,并在此文件中添加如下内容$vi common/cmd_led.c#include <common.h>#include <command.h>int do_led (cmd_tbl_t *cm...原创 2020-02-26 16:13:34 · 287 阅读 · 0 评论 -
在u-boot中更新镜像程序
前提是板子上已经有u-boot程序在运行。如果没有,先使用codewarrior烧录一个u–boot。串口烧写=>helploadb - load binary file over serial line (kermit mode)loads - load S-Record file over serial lineloadx - load binary file ...原创 2020-02-26 16:12:56 · 518 阅读 · 0 评论 -
Local Bus总线原理
转载至:https://wenku.baidu.com/view/aeca83593b3567ec102d8a80.html?from=searchLocal Bus简介Local Bus总线又称为CPU总线,根据高低位地址线序的差异,又可分为Motorola CPU总线和Intel CPU总线。古老的CS51单片机就是Intel CPU总线的典型代表,而我们常用的Power PC就是Moto...原创 2020-02-26 16:12:15 · 18459 阅读 · 1 评论 -
LM75A移植
参考:基于FS_S5PC100的LM75温度传感器驱动程序添加与测试LM75A是嵌入式中常用的温度传感器,常用来监测板上温度。LM75A的接口是i2c接口,i2c的设备地址一般为48(要根据原理图来定),温度采集范围是-55°C-+125°C原理图u-boot中的移植在配置文件中添加相应的宏定义,重新编译烧写。$vi include/configs/p1020ndae/* I2...原创 2020-02-26 16:11:42 · 1439 阅读 · 0 评论 -
DS1339移植
DS1339是单片机中常用的RTC,在pc中是没有的,现在很多RTC都使用可充电式的,集成度也高,面积占用小。以下RTC的移植和其他RTC移植方法类似。通过移植DS1339我们可以熟悉RTC的原理、移植方法、以及在系统中RTC API使用方法。原理图u-boot中$ vi include/configs/p1020ndae.h//注释掉原来的RTC#define CONFIG_R...原创 2020-02-26 16:11:02 · 1198 阅读 · 0 评论 -
NAND移植
由于我们在u-boot中暂时没有用到nand,所以我们只在linux中移植nand。其实只是对nand重新划分了分区,tlb和law已经划分好了,不需要修改。linux中的nand移植$ vi arch/powerpc/boot/dts/p1020rdb-pd_32b.dtslbc: localbus@ffe05000 { reg = <0x0 0xffe05000 0x...原创 2020-02-26 16:10:25 · 181 阅读 · 0 评论 -
128M nor的移植
p1020rdb板的law和tlb划分中,nor最大支持64Mbyte,但是我们使用的是128M,因此需要改动tlb和law。关于tlb和law,请看RM手册的memory部分,我之后也会总结一下这一部分。原理图这里nor的地址线高三位连接到了sw1上,将nor划分成了8块,具体分析请往下看。nor拨位分析74LVC1G86GW为异或门,当输入不同,则输出1;当输入相同,则输出...原创 2020-02-26 16:09:48 · 708 阅读 · 0 评论 -
RTL8211移植
RTL8211是嵌入式中常用的一种PHY芯片。对于网口驱动的移植,只要u-boot和kernel有支持的驱动,移植方法还是比较简单的。u-boot中的RTL8211移植对于PHY的移植,大多数情况下只需要修改config文件即可,但是也有例外,这时候我们就要仔细阅读芯片手册和原理图了。在移植过程中,我们遇到没见过的驱动,这个时候多利用查找功能,例如:ctags、grep -rn等等。查...原创 2020-02-26 16:09:11 · 7468 阅读 · 2 评论 -
codewarrior烧写u-boot到nor(2)
上一篇中的烧写方法是我经过多次尝试试出来的,之前并没有理解nor的硬件地址分区,所以之前的烧写方法是运气好。在理解nor的硬件地址分区后,我重新对烧写方法进行了优化,不需要修改tcl文件,也不需要来回拨动拨码开关。**注意:**烧写时,sw1拨位为0b0000,启动时拨位应该为0000,原理看nor的移植。使用codewarrior来烧写创建SRAM程序烧写再次烧写...原创 2020-02-26 16:08:27 · 471 阅读 · 0 评论 -
codewarrior烧写u-boot到nor(1)
这里的烧写方法是一次次尝试出来的,也是加强一下自己对p1020启动流程的理解吧。**注意:**烧写时,sw1拨位为0111,启动时拨位应该为0000使用codewarrior来烧写.创建SRAM程序,debug测试一下创建flash programmer打开flash file to target检查以下选项点击connection的edit检查initializa...原创 2020-02-26 16:07:43 · 1025 阅读 · 0 评论 -
修改p1020 u-boot中的启动必要参数
根据我们创建的单板,修改u-boot p1020ndae的相关配置时钟和ddr是运行操作系统最基本的条件,必须有。修改时钟频率#if defined(CONFIG_P2020RDB)#define CONFIG_SYS_CLK_FREQ 100000000#else#define CONFIG_SYS_CLK_FREQ 100000000#endif#define CONF...原创 2020-02-26 16:06:58 · 518 阅读 · 0 评论 -
在u-boot源码中添加p1020新单板
u-boot源码拷贝从SDK中拷贝我们需要的p1020的u-boot的源码,源码位置查看sdk文档修改u-boot源码创建新单板根据以下步骤,我们可以创建一个u-boot的新单板p1020ndaep1020ndae$cd u-boot$cp -R board/freescale/p1_p2_rdb_pc/ board/freescale/p1020ndae/$mv board/f...原创 2020-02-26 16:06:22 · 200 阅读 · 2 评论 -
u-boot中config文件宏含义
DEBUG定义是否开启Debug模式,用于输出更多log信息。CONFIG_SYS_TEXT_BASECONFIG_SYS_TEXT_BASE:设置系统代码段的基地址,设为 0x0;menuconfig 中已经有了此宏,可以去掉。CONFIG_SYS_GENERIC_BOARD使用通用架构的board.c,具体可以查看文档 doc/README.generic-boardCONFIG_...原创 2020-02-26 16:04:12 · 2517 阅读 · 0 评论 -
e500启动分析
参考:e500核 上电启动及uboot流程 P1010rdb新单板u-boot移植过程总结启动条件关于e500的启动,我们需要仔细阅读RM手册第四章,仔细确认reset的每一个部分。系统上电到执行第一条指令前,需要经过配置PLL、Local Bus控制器、LAW、MMU等操作,这些配置完全是由Cpu根据芯片的默认值和芯片外部配置引脚的输入状态自动完成的。如:Cpu根据cfg_s...原创 2020-02-26 16:03:35 · 613 阅读 · 0 评论 -
QorIQ SDK环境搭建
SDK文档nxp官方文档中心:https://nxp.sdlproducts.com/LiveContent/web/pub.xql?c=t&action=home&pub=QorIQ_SDK&lang=en-USpdf:https://www.nxp.com/docs/en/release-note/QORIQ-SDK-2-0_RN.pdf先大概浏览一下,发现P10...原创 2020-02-26 16:02:35 · 1811 阅读 · 0 评论 -
创建RAM程序,验证程序在DDR上的运行
前面我们验证了程序运行在SRAM中,也就是程序运行在L2 cache中,但是对于启动操作系统,这并不够。操作系统要必须要足够大的RAM,所以我们必须要程序运行在RAM中,也就是DDR上。环境CodeWarriorDevelopmentStudio for Power Architecture v10.5.1 - Windows.exeCodeWarrior Connection S...原创 2020-02-26 16:01:54 · 1141 阅读 · 0 评论 -
创建SRAM程序,验证芯片是否可以正常工作
当我们拿到一个新板子,在ddr不确定,不能运行的情况下,应该先验证芯片是否正常工作。p1020片内存储:cpu寄存器->L1cache->L2cache->DDR->Flash …L2大小有256K,足够我们裸机程序运行了,所以使用codewarrior先建立SRAM工程。环境CodeWarriorDevelopmentStudio for Power Arc...原创 2020-02-26 16:00:47 · 832 阅读 · 0 评论 -
freescale QorIQ P1020嵌入式开发流程总结
虽然嵌入式开发流程都大致一样,但是不同公司、不同的芯片开发流程总是还有差异的。 之前一直在做ARM的嵌入式开发,一开始上手powerpc总是有些担心,但是上手之后,发现其实和ARM差不多,只不过资料是真的少,可交流的人也不多。 通过大概2个月的摸索,从刚开始的烧录程序都不会,到现在总算把linux跑起来,遇到不少坑,总结一下。裸机开发环境搭建到nxp官网找资料熟悉一下开...原创 2020-02-26 15:59:01 · 927 阅读 · 1 评论