PowerPC Target Initialization(目标初始化文件)*

PowerPC Target Initialization(目标初始化文件)
转发自:
http://blog.chinaunix.net/uid-610670-id-2087284.html

目标初始化文件是包含一些初始化寄存器、内存区域的命令的文件,这些命令使得目标板处于需要调试裸板程序的状态。比如在用CodeWarrior debugger下载U-Boot二进制格式到目标板的时候需要调用初始化文件。

下面讲述一下初始化文件的命令语法:

  • 忽略空格键和Tab键;
  • 忽略大小写敏感;
  • 除非特别注明,数值一般用十六、八或者十进制表示;
  • 十六进制表示,以"0x"开头,如: 0xDEADBEEF
  • 八进制表示,以"0"开头,如:01234567
  • 十进制用非"0"开头:1234
  • 注释以";“或者”#"开始,为行注释模式。

命令列表:

alternatePCANDmem.lANDIncorMMR
ORmem.lresetsetMMRBaseAddrrun
sleepstopwritemem.bwritemem.w
writemem.lwritemem.rwritemmrwritereg
writereg128writesprwriteupmawriteupmb

部分命令解释:

writereg ——为特定寄存器(regName)赋值(value)
语法: writereg regName value # 例如 writereg MSR 0x00001002

writemem.l ——写长整行数据(32bits)(value)到特定的内存地址(address)
语法: writemem.l address value # 例如 writemem.l 0x0001FF00 0x12345678
类似地,writemem.w是写字(16bits);writemem.b是写字节(8bits)。例如 writemem.b 0x0001FF00 0x1A

sleep ——使脚本在执行下一个命令之前暂停特定毫秒(milliseconds)的时间
语法: sleep milliseconds # 例如 sleep 300

setMMRBaseAddr ——为调试器提供处理器内存映射寄存器(MMR)的基地址,一旦执行了这个命令,调试器可以读、写和显示处理器的内存映射寄存器。在初始化文件中,这个命令必须在任何writemmr命令之前。
语法: setMMRBaseAddr baseAddress # 例如 setMMRBaseAddr 0x0f00000

alternatePC ——指定某一地址(address)给程序计数(PC)寄存器
语法: alternatePC address # 例如 alternatePC 0xc28737a4

writemmr ——为特定的内存映射寄存器(MMR)(regName)赋值(value)
语法: writemmr regName value # writemmr RMR 0x0001
AND ——将特定的内存映射寄存器(regName)和32bit的掩码值(mask)进行位与,结果赋回给这个寄存器
语法: ANDmmr regName mask # ANDmmr ACFG 0x00002000

ORmem.l ——用32bit掩码值(mask)与特定内存地址(address)的值进行位或,并将结果写回这个地址
语法: ORmem.l address mask # ORmem.l 0xC30A0008 0x01000800

reset ——复位目标板上的处理器,然后调试器debugger运行’run’(0)或者停止’stop’(1)
语法: reset code # reset 0 # code为0或1

run ——在当前程序计数器地址下开始程序执行
语法: run

stop ——停止程序执行并且使目标板上的处理器halt
语法: stop
writeupma ——写一个RAM字(ramWord)给用户可编程机制(UPM)A的RAM阵列的相应偏移(offset),UPM A的RAM阵列的每个偏移对应于一种存储处理方式;在一个RAM阵列相应偏移的RAM字(以及紧跟第一个RAM字的那些字)都是控制UPM A行为的指令。offset值的范围是0到0x3F.
语法:writeupma offset ramWord # writeupmb 0x18 0xAAAA1100
注:内在寄存器的名字可能随处理器内核的不同而不同,另外可能和汇编语言中的命名不同。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值