求高人帮我解答以下几道题目

来源:互联网 发布:windows与linux双系统 编辑:程序博客网 时间:2024/04/24 13:09

ARM linker这一项,里面有output,options,layout三项是很重要的。

output里有一项是simple image {RO base,RW base},什么是ro base?什么是rw base?ro 指的是
只读地址,也就是程序代码地址 ,rw指的是数据地址,也就是存放数据的地址。这里所说的都是ram中的
东西。在线调试的时候,我的ram地址是0x0c000000,所以可以把ro base设置成0x0c000000,rw base
设置成0x0c200000,在options 里面,把image entry point设置成0x0c000000,就可以正常工作了。
 
  当要进行flash烧写时,因为烧写flash是从0x000000开始的,所以这时ro应该设置成0x000000,rw设置
成0x0c000000,image entry point也设置成0x0000000,这样就能进行正常工作了。

 

以下题目以SAMSUNG单片机为参考;
  1、 当前堆栈指针SP为0C0H,在执行完下列三条指令后,R3的值存入______地址中。
   PUSH R1
   PUSH 20H
   PUSH R3
  2、 ADCON (A/D Converter Control Register) 的bit2和bit1两位为时钟选择位,为00选择f/16,01选择f/8,10选择f/4,11选择f/1。Bit0为AD转换启动位,bit7-bit4为转换引脚输入选择位。建立AD转换需要10个时钟,A/D转换1位需要4个时钟,若单片机采用4.00Mhz的外部晶振,当ADCON置为00000101后,转换完一路10位精度的AD至少需要的时间为______。
  
  
  3、 若:R0=0C7H,R1=02H,R2=01H,寄存器00H=2BH,寄存器01H=02H,寄存器02H=23H,
  执行完指令: “XOR R0,@R1 ” 后,R0=______,R1=______。
  
  
  
  4、下段程序为164数据串并转换子程序,请在合适位置完善其中遗漏的两条语句。
  send_data_to_164:
   ld r10,#c_send_num
  send_data_to_164a:
   and p_port_164_ab,#~p_164_ab
   and p_port_164_clk,#~p_164_clk
   rlc r_data_send
   or p_port_164_ab,#p_164_ab
  send_data_to_164b:
   nop
   nop
   nop
   nop
   dec r10
   jr nz,send_data_to_164a
   and p_port_164_clk,#~p_164_clk
   ret