历史上的今天
今天是:2025年04月11日(星期五)
2020年04月11日 | arm-linux 学习(1)点亮第一个led程序
2020-04-11 来源:eefocus
1.学习Gpio原理图
led与开发板的接线图,


总结:
nled1—–>GPF4
nled2—–>GPF5
nled4—–>GPF6

2. 寄存器
这里用到两个寄存器,一个是端口控制寄存器:GPACON-GPJCON,还有一个寄存器是端口数据寄存器GPADAT-GPJDAT

这里可以看出端口控制寄存器的地址是:0x56000000
端口数据寄存器的地址是:0x56000004
所以我们只需要配置这两个寄存器对应的LED位就可以实现控制led的亮或者灭。
第一步:首先配置LED引脚为输出模式

直接依次配置好:0001 0101 0000 0000==0x1500
第二步:对应位置输出低电平

需要设置:1000 1111==0x8f
@**************************************************************************************
@ File:led_on.S
@ 功能:LED点亮程序
@ 备注:GPF4,5,6为输出引脚,低电平亮
@ 第1个指令:ldr R0,[R1] //假设R1的值是x,读取地址x上的数据(4字节)保存到RO中
@ 第2个指令:str R0,[R1] //假设R1的值是x,把RO上的值写到地址x去
@ 第3个指令:b //跳转
@ 第4个指令:MOV MOV R0,R1 //移动指令,把R1的值赋给R0
@ 第5个指令:MOV MOV R0,=0x12345678 //伪指令
@*************************************************************************************
.test
.global _start
_start:
/****************************************
*配置GPF4,5,6为输出引脚,图片只是配置GPF4
*同时把0x100写到地址0x56000050上
*****************************************/
ldr r0,=0x56000050
ldr r1,=0x1500
str r1 ,[r0]
/****************************************
*配置GPF4,5,6为输出低,图片只是配置GPF4
*同时把0x8f写到地址0x56000050上
*****************************************/
ldr r1,=0x56000054
ldr r0,=0x8f
str r0 ,[r1]
halt:
b halt
可以在source Insight中观看代码

3.编写makeflie文件
all:
arm-linux-gcc -c -o led.o led.S
arm-linux-ld -Ttext 0 led.o -o led.elf
arm-linux-objcopy -O binary -S led.elf led.bin
clean:
rm .bin .o *.elf
在notepad++中看代码:

4.编译代码
使用命令:make
清除二进制代码:make clean
史海拾趣
|
液晶显示问题。我买了快开发板,本来是1024*768分辨率的,根据网上资料,修改成800*600,但是整个WINDOWS界面只显示了屏幕的左上角,其他WINDOWS CE程序一切正常,不知道如何是好,希望各位能给电帮助。… 查看全部问答> |
|
一 为什么说是伪动态 做网站的人知道动态网页常用的开发语是ASP.net、JSP、PHP。而这里我们是没法用上的,我们用的是cgi文件。 二 什么是CGI Common Gate Interface(通用网关 ...… 查看全部问答> |
|
大家好! 小弟现在遇到一个奇怪的问题。 硬件测试环境:板子是STM8S208,板子上有两个LIN接口,一个做主机,一个做从机,用一条串口线将两个口连接起来通信。   ...… 查看全部问答> |
|
近几天一直在TI网站上瞎转悠,深为它的器件性能所引,在我提交的电源方案中(还没有完善)决定使用它的Piccolo CPU : _TMS320f28035,它可以由一块CPU担任所设想的从PFC到输出部分的、全部分的功率控制。 然而,搞这个没有个仿真器 ...… 查看全部问答> |
|
如何使用 CCS 建一个 M3 的工程,一直在用 MDK,最近不得不熟悉 CCS ,不知道 CCS 要怎么建工程呢? 找到一个 PDF ,按照里边的步骤还是能编译,而且很慢,这样的工具怎么用呢? [ 本帖最后由 Study_Stellaris 于 2011-12-5 16:00 编辑 ]… 查看全部问答> |
|
在CCS3.3的开发环境下,拿TDS560仿真器连接omapl138的板子,在reset_TDS560USB_plus时出现如下错误:C:\\CCStudio_v3.3\\cc\\bin>dbgjtag -f brddat\\ccbrd0.dat -rv ------------------------------------------------------------------------ ...… 查看全部问答> |
|
BeagleBone试用第一周 底板PCB--今天终于决定把板子拿去制了。到底如何不管他。 今天终于决定把板子拿去制了。到底如何不管他。 时间要紧。有错就改嘛。反正还是好同志。 希望大家支持,阿莫那里要求插孔都加大0.15MM 所以我的孔画的比较大。 有关硬件的资料: [ 本帖最后由 damiaa 于 2012-9-28 16:27 编辑 ...… 查看全部问答> |




