Linux 基于MPC8569E板的Das u-boot定制

Linux 基于MPC8569E板的Das u-boot定制,linux,embedded-linux,processor,u-boot,Linux,Embedded Linux,Processor,U Boot,我是嵌入式系统的初学者,我需要一些帮助。我有一块带有飞思卡尔MPC8569E处理器的板。到目前为止,我们一直在使用256Mb闪存,带有2块闪存芯片。内存映射如下: f000_0000-f7ff_ffff(128Mb) f800_0000-ffff_ffff(128Mb) 现在我们想使用512Mb的闪存,每个使用2个256Mb的闪存芯片,内存映射为: e000_0000-efff_ffff(闪光1) f000_0000-ffff_ffff(闪存2) 根据我在阅读有关为定制板修改u-boot的内容时

我是嵌入式系统的初学者,我需要一些帮助。我有一块带有飞思卡尔MPC8569E处理器的板。到目前为止,我们一直在使用256Mb闪存,带有2块闪存芯片。内存映射如下:
f000_0000-f7ff_ffff(128Mb)
f800_0000-ffff_ffff(128Mb)
现在我们想使用512Mb的闪存,每个使用2个256Mb的闪存芯片,内存映射为:
e000_0000-efff_ffff(闪光1)
f000_0000-ffff_ffff(闪存2)

根据我在阅读有关为定制板修改u-boot的内容时所了解的情况,首先
1.我必须修改法律结构。因此,我在board/freescale/mpc8569mds/law.c中添加了以下内容
设置法律(配置系统闪存基础,法律大小512M,法律TRGT,如果LBC),
闪存芯片位于本地总线上。
我已在include/configs/MPC8569MDS.h中将宏配置\u SYS\u FLASH\u BASE设置为0xe000\u 0000
2.我需要为闪存配置芯片选择

\define CONFIG\u FLASH\u BR\u PRELIM 0xF0001011

\define CONFIG\u FLASH\u或\u PRELIM 0xF0006FF7

对于CS0 和
\define CONFIG\u SYS\u BR1\u PRELIM 0xE0001011

#定义配置系统或1_PRELIM 0xF0006FF7

我已经读到CS0应该包含包含引导代码/U-boot的闪存芯片选择,所以我已经为第二个闪存配置了CS0(基址0xf000_0000)

  • 我对TLB进行了如下配置:
  • 设置项目(1,配置系统闪存2,配置系统闪存2,MAS3-SX,MAS3-SW,MAS3-SR,MAS2-I-MAS2-G,0,0,BOOKE-PAGESZ-256M,1)

    设置入口(1,配置系统闪存底座,配置系统闪存底座,MAS3|SX|MAS3|SW|MAS3|SR,MAS2|I|MAS2|G,0,1,BOOKE|U PAGESZ|256M,1)

    所以我已经配置了法则,配置了芯片选择,配置了TLB,但是控制台输出是一个连续的特殊字符行������������ , 没有别的了!!!我做错了什么

    我已经附上了tlb1、law和电路板芯片选择的快照,这是在运行uboot并使用ICD(lauterbach)在几秒钟后暂停引导过程后观察到的。


    在您的旧板上,您是否在e000000-efff fff范围内映射了其他内容?我使用另一块飞思卡尔处理器/eval板时记忆犹新,其中内存映射寄存器组位于该范围内。我记得,有一个寄存器指定该银行的基数。如果你检查a-LAW寄存器的地址,我敢打赌它们在这个范围内,flash正在覆盖它们。是的,include/configs/MPC8569MDS.h显示了#define-CONFIG\u-SYS\u-CCSRBAR 0xe000000#define-CONFIG\u-SYS\u-PHYS\u-LOW-CONFIG\u-SYS\u-CCSRBAR,所以你必须移动它,才能为flash使用0xe000000范围。嘿,伙计们,是的,我已经处理好了,我已经在配置文件中使用了
    #define CONFIG_SYS_CCSRBAR 0xd000000
    。我相信这就是将进程寄存器从0xe000_0000重新定位到0xd000_0000所需要做的一切。我在我的问题中附加了几个来自ICD的快照(编辑),CCSBAR后存储在1Mb区域的处理器配置寄存器正常!!它们没有重叠,使用ICD我可以读取它们。没有人得到输入?拜托。