课程列表

基本问题

开源资源

好好学习天天向上

联大大纲—通信电子 ;教师介绍; 单片机课程学习经验- 学习路线图; 1.概述 -应用 -定义 -特点 -构成; 2.嵌入式处理器 —DIY CPU处理器ARM处理器Cortex-A8S5PV210讨论; 3.汇编语言 -作业 4.Bootloader -作业 5.Linux内核移植 6.嵌入式Linux程序设计 7.图形用户接口QT 8.其他框架介绍; 9.嵌入式物联网应用系统设计

start.s

.globl _start @指定标号_start为globl型, 外部可调用
_start: @定义_start标号,GNU编译器默认程序入口
ldr r1, =0xE0200280 @将 GPJ2CON寄存器地址号写入r1
// 设置CBT-Tin210 板载LED连接到GPJ4端口,需要修改寄存器地址
ldr r1, =0xE02002c0 @GPJ4CON寄存器地址
ldr r0, =0x00001111 @将配置字0x00001111写入r0
str r0, [r1] @配置字写入GPJ2CON寄存器
mov r2, #0x1000 @赋值 r2=1000,用于定义循环次数
led_blink:
ldr r1, =0xE0200284 @GPJ2DAT寄存器端口地址
ldr r1, =0xE02002c0 @GPJ4DAT寄存器地址
mov r0, #0
str r0, [r1] @写入0,点亮LED
bl delay @调用延时函数
ldr r1, =0xE0200284
ldr r1, =0xE02002c0 @GPJ4DAT寄存器地址
mov r0, #0xf
str r0, [r1] @写入1,熄灭LED
bl delay @调用 延时函数
sub r2, r2, #1 @r2 = r2-1
cmp r2,#0 @亮/灭过程执行了1000次
bne led_blink @少于1000次,跳转到led_blink处继续执行
halt: @定意标号
b halt @跳转到halt,死循环
delay: @定义延时函数
mov r0, #0x100000 @延时时间,可尝试改为0x400000
delay_loop:
cmp r0, #0
sub r0, r0, #1
bne delay_loop
mov pc, lr @函数返回,适用于bl指令调用。lr存有调用处的断点。