实验一:LED_ONled_on.s只有7条指令,它只是简单地点亮发光二极管LED1,本实验的目的时让您对开发流程有几个基本概念。实验步骤:A.进入LED_ON目录,执行make命令生成可执行文件led_on。B.把PC的USB通过USB转串口和开发板的串口链接起来,上电。C.启动UBOOT之后,通过tftp 0x30000000 led_on下载程序到SDRAM中D.使用go 0x30000000命令跳转到led_on处执行,可以看到程序结果程序源代码led_on.s.text.global _start_start: LDR RO,=0x56000010 @R0为GPBCON寄存器,此寄存器用于选择端口B各引脚
@的功能 MOV R1,#0x00004000 STR R1,[R0] @设置GPB7为输出口 LDR R0,=0x56000014 @R0为GPBDAT寄存器,用于读写端口B的各引脚的数据 MOV R1,#0X00000000 @此值改为0x00000080可以让LED1熄灭 STR R1,[R0] @GPB7输出0,LED1点亮MAIN_LOOP: B MAIN_LOOP对于程序中使用的寄存器GPBCON,GPBDAT,我稍作描述,具体寄存器的操作可以看实验三:I/OPORTS。GPBCON用于选择PORTB的11根引脚的功能:输出,输入还是其他特殊功能。每根引脚用2位来设置:00表示输入,01表示输出,10表示特殊功能,11保留不用。LED1-3的引脚时GPB7-GPB10,使用GPBCON中位【12:13】,【13:14],[15:16],[17:18]来进行设置。GPBDAT用来读/写引脚:GPB0对应位0,GPB1对应位1,以此类推。当引脚设为输出时,写入0或1可以时相应引脚输出低电平或高电平。Makefile文件的内容:led_on:led_on.s arm-none-linux-gnueabi-gcc -g -c -o led_on.o led_on.s arm-none-linux-gnueabi-ld -Ttext 0x30004000 -g led_on.o -o led_on_tmp.o arm-none-linux-objcopy -O binary -S led_on_tmp.o led_onclean: rm -f led_on rm -f led_on.o rm -f led_on_tmp.o
转载于:https://www.cnblogs.com/zdl110110/archive/2010/12/06/1897528.html
相关资源:2440开发板直流电机实验