环境搭建和点亮led

环境搭建:

笔记本有无线网卡,还有有线网卡,与开发板的链接方案有两种,

方案1,笔记本有线网口直连开发板,无线网卡正常连网;需要配置路由表,使笔记本和开发板可以上传下载文件,且不影响正常上网。

方案2,笔记本和开发板都连在一个局域网,笔记本只需要使用无线网卡,同样可实现与开发板通讯。

两种方式都需要连接开发板串口,操作开发板。

开发板先烧写正常的uboot,norFLash和nandFlash都烧写uboot.

uboot 启动后通过tftp 下载程序到开发板运行。

实验一:点亮led 实验

点亮led灯的实验是第一个实验,并不复杂。

其中遇到2个问题,记录于此:

问题1,uboot下载led的程序不能正常点亮。

问题出在tftp 下载地址和运行地址。

tftp 0x0  led.bin

tftp 从服务器下载led.bin 保存在0x0 地址。

        如果是norFlash 启动,0x0 地址是norFlash,tftp 下载时不能把led.bin 写到0x0,go 0x0 时,看到uboot 重启了,是因为0x0 实际上是NorFlash中的uboot代码。
        如果是NorFlash启动,内存已经初始化过了,内存的起始地址是0x30000000,可以tftp下载到 0x30000000。

        如果是NandFlash 启动的,内部的4KRam是可用的。tftp 可以下载到0x0地址,然后go 0x0启动,但是程序不能大于4K,否则只能下载到0x30000000 以上的地址。

        最后关于运行地址,编译时设置代码段地址Ttext,与tftp的下载地址最好保持一致;虽然led代码简单,使用的都是与位置无关指令,但是还是要理解代码段地址和实际运行地址的关系,如果代码中有与位置相关指令,要保证运行地址和代码段地址一样。

LDR pc,=label   #听说这是与代码位置有关指令

ADR pc,label  #这条指令是与位置无关的指令

 

 

参考:汇编指令_register_k的博客-CSDN博客

问题二:
        寄存器清0(&0);
        寄存器置1(| 1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值