2440开发板实验1

mac2022-06-30  28

实验一: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开发板直流电机实验
最新回复(0)