点亮 LED 灯 , 外设基地址初始化

本文介绍在嵌入式系统开发初期如何利用LED进行程序调试,并详细讲解了通过ARM汇编语言实现LED点亮的方法。同时,针对虚拟机USB烧录问题提供了设置建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当虚拟机对开发板的usb烧写无法相应,右下角没有图标时,可以看以下VMware的虚拟机设置中,设置usb兼容性,兼容usb3.0。

点亮 LED 灯

学习硬件的步骤:
这里写图片描述

在嵌入式系统软件(bootloader,kernel)开发初期,由于串口等硬件尚未被初始化,因此调试手段相当有限,这时通常会采用LED来作为程序调试的重要手段。

LED的实质为发光二极管,当其两端电压差一定时,即处于导通状态(发光)。

底板原理图: (OK6410)
这里写图片描述

这里写图片描述

GPIO:
GPIO(General-Purpose Input /Output Ports):通用输入/输出端口。在嵌入式系统中, CPU经常需要控制许多结构简单的外部设备或者电路,这些设备通常只要求两种状态(开/关), 对这些设备的控制,使用传统的串口或者USB口就显得复杂,所以,在嵌入式微处理器上通常提供了一种“通用可编程I/O端口”,也就是GPIO。

一个GPIO端口至少需要两个寄存器,一个是“控制寄存器”,用于选择该端口作为输入还是输出。另一个是存放数据的”数据寄存器”。

芯片手册导读:
这里写图片描述

代码编写: 6410

light_LED:                  @点亮led灯
    ldr r1, =0x7F008820     @控制寄存器
    ldr r0, =0x1111
    str r0, [r1]

    ldr r1, =0x7F008824     @数据寄存器
    mov r0, #0b0101
    str r0, [r1]
    mov pc, lr

外设基地址初始化

ARM11核手册中查找协处理器的资料:
这里写图片描述

这里写图片描述

代码编写: 6410

set_peri_port:             @外设基地址初始化
    ldr r0, =0x70000000    @设置基地址和大小,6410外设基地址从7开始,大小256M
    orr r0, r0, #0x13      
    mcr p15,0,r0,c15,c2,4  
    mov pc, lr     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值