第001节_辅线1_硬件知识_LED原理图
当我们学习C语言的时候,我们会写个Hello程序。那当我们下ARM程序,也该有一个简单的程序引领我们入门,这个程序就是点亮LED。
我们怎样去点亮一个LED呢?分为三步:
1. 看原理图,确定控制LED的引脚;
2. 看主芯片的芯片手册,确定如何控制这个引脚
3. 写程序
先来讲讲怎么看原理图:LED的样子有很多种,想插脚的,贴片的。
它们长得完全不一样,因此我们在原理图中将它抽象出来。
点亮LED需要同电源,同时为了保护LED,价格电阻减小电流。控制LED灯的亮灭,可以手动开关LED,但在电子系统中,不可能让人来控制开关,通过编程,利用芯片的引脚去控制开关。
LED的驱动方式,常见的有四种。
方式1:使用引脚输出3.3V点亮LED,输出0V熄灭LED。
方式2:使用引脚拉低到0V点亮LED,输出3.3V熄灭LED。
方式3:使用引脚输出1.2V点亮LED,输出0V熄灭LED。
方式4:使用引脚输出0V点亮LED,输出1.2V熄灭LED。
由此,主芯片引脚输出高电平/低电平,即可改变LED状态,而无需关注GPIO引脚输出的事3.3V还是1.2V。所以简称输出1或0:
逻辑1 -> 高电平
逻辑0 -> 低电平
第002节_辅线1_硬件知识_S3C2440启动流程与GPIO操作
在原理图中,同名的Net表示是连在一起的。
引脚GPF4怎样输出1或0?
1. 配置为输出引脚
2. 设置状态
因此,设置GPFCON[9:8]=0b01,即GPF4配置为输出
设置GPFDAT[4]=1或0,即输出高电平或低电平
S3C2440框架:
S3C2440启动流程:
Nor启动:
Nor Flash的基地址为0,片内RAM地址为0x4000 0000;
CPU读出Nor上第1个指令(前4字节),执行
关键字:ARM 落版程序 点亮LED
引用地址:
第008课_第1个ARM落版程序及引申
推荐阅读最新更新时间:2024-11-10 02:25
ARM处理器模式和片内寄存器, ARM 异常及中断
中断和异常的区别: 中断时从外至内的, 异常时由内发出的 一、存储器格式(字对齐): Arm体系结构将存储器看做是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,从第四个字节到第七个字节放置第二个存储的字数据,一次排列。作为32位的微处理器,arm体系结构所支持的最大寻址空间为4GB。 存储器格式 1、大端格式:高字节在低地址,低字节在高地址; 2、小端格式:高字节在高地址,低字节在低地址; 指令长度: Arm微处理器的指令长度是32位的,也可以为16位(thumb状态下)。Arm微处理器中支持字节(8位),半字(16位),字(32位)三种数据类型,其中,字需要4字
[单片机]
ARM架构处理器Q2出货34亿片 大客户新增一家中国公司
虽然全世界主要的移动处理器都使用了ARM架构,不过ARM 薄利多销 的生存方式使得他们并没有从中赚到多少真金白银,2015年Q2季度营收为3.57亿美元(2.28亿英镑),同比增长了15%,当季出货的ARM处理器高达34亿单位。本季度中,ARM新增了7个ARMv8-A授权客户,还和一家重要的中国OEM公司达成了授权协议,但没有提及具体的公司名字。 对智能手机、平板电脑用户来说,ARM公司的名字几乎可以天天听到,但很多人并不熟悉这家移动处理器王国背后的 男人 ,虽然ARM处理器的数量比X86处理器多太多了,不过ARM公司营收规模比Intel简直是九牛一毛,他们自己不生产处理器,主要依靠ARM处理器授权及抽取版税为生。 20
[单片机]
[ARM裸机程序][7]ARM 指令分类学习
算术移位寄存器和逻辑指令 MOV传送 MOV{条件}{S} dest , op 1 dest = op_1 MOV从另一个寄存器、被移位的寄存器或者一个立即数装载一个值到目的寄存器。还可以指定相同的寄存器来实现 NOP 指令。如:MOV R0,R0。移位后传送指令:MOV R0, R0, LSL#3。 如果 R15 是目的寄存器,将修改程序计数器或标志。这用于返回到调用代码,方法是把连接寄存器的内容传送到 R15: 退出到调用者:MOV PC, R14。 退出到调用者并恢复标志位:MOVS PC, R14。 指令中后缀有S说明该指令会改变CPSR。 MVN传送取反 mvn{条件}{S} dest , op 1 d
[单片机]
基于ARM的流水灯仿真示例(第一次修改)
本次设计在上一篇(《基于ARM的流水灯仿真示例》)的基础上,加了晶振电路,并且改变和与LED灯相连的电阻的接法。在原来的设计中,所有的LED灯都和一个电阻相连,虽然仿真没有出现问题,但在现实电路中这样的接法很可能导致该电阻烧坏,所以本设计分别给每个LED灯接了一个电阻。整体电路的连接如下图所示。 经过修改之后的电路图 修改之前的电路图 程序部分并没有做出任何修改,程序代码如下: 1 #include config.h 2 3 int DelayTime=60; //延时参数 4 int ModeSel=0; //流水灯控制 5 6 //延时函数原型声明 7 void delay(in
[单片机]
基于ARM9处理器的ZigBee工业以太网网关设计
引言 目前多标准多协议共存的场合应用增多,而充当协议转换桥梁作用的网关起到了关键作用当前比较流行的两个本地无线技术无疑是Wi-Fi 和蓝牙,但是,对于低功耗、低带宽的控制类应用,诸如工厂内的传感器网络,ZigBee 或许是个更好的选择。配备一个功能强大的处理器后,ZigBee 可以在低功耗、低带宽的限制下高效完成很多复杂的应用。 ZigBee 因其低成本、低功耗、组网灵活等众多优势,成为工业无线通信技术中备受关注的技术之一。ZigBee 是一种低速网络,传输速度为10KB/S~250KB/S,多样的互联方式使得组网方式灵活而稳健。 文章介绍一种基于AT91SAM9260 的ZigBee 工业以太网网关设计,
[单片机]
飞思卡尔计划采用ARM® Cortex®-M7内核
业界最广泛的基于ARM Cortex-M内核的可兼容且可扩展的MCU组合,将随着Cortex-M7内核的采用得到进一步扩展。 2014年9月24日 ,德克萨斯州奥斯汀讯-飞思卡尔半导体 日前宣布为最近发布的ARM Cortex-M7内核提供全面支持,飞思卡尔计划利用该内核使即将推出的嵌入式SoC的性能和功效达到新水平。飞思卡尔是ARM领先的合作伙伴和多种ARM产品的早期采用者,并且率先在市场推出了基于Cortex-M4内核和Cortex-M0+内核的MCU。 飞思卡尔拥有业界最广泛的基于ARM Cortex-M内核的可兼容且可扩展的MCU产品组合,可跨六个独特的Kinetis系列实现软件和硬件兼容,同时可选择提供通
[嵌入式]
报告称英特尔及部分Arm处理器有新的Spectre漏洞
VUSec安全研究小组和英特尔周二披露了一个名为分支历史注入(branch history injection BHI)的Spectre级漏洞。这个新的漏洞影响到近年来发布的所有英特尔处理器,包括最新的Alder Lake CPU,以及一些特定的Arm内核。相比之下,AMD的芯片似乎不受影响。有意思的是,Intel在2021年产品安全报告中直言不讳的表示:2021年Intel处理器共有16个Bug报告,而AMD的Bug报告则有31个,这表示Intel在Bug方面处于领先地位。 BHI是一个Poc验证代码攻击,影响到容易受到Spectre V2漏洞影响的CPU,但已经有各种缓解措施。据Phoronix报道,这种新的漏洞绕过了英特
[嵌入式]
arm学习笔记四(arm伪指令)
arm伪指令 符号定义伪指令 定义arm汇编程序中的变量、对变量赋值以及定义寄存器的别名 定义全局变量 gbla(全局数字变量,初始化值为0) GBLA 全局变量名 示例代码如下: GBLA Test1;定义全局数字变量test1 Test1 SETA 0x123;将该变量赋值为0x123 gbll(全局逻辑变量,初始化为F) GBLL 全局变量名 示例代码如下: GBLL Test2;定义全局逻辑变量test2 Test2 SETL {TRUE};将变量赋值为真 bgls(全局字符串变量,初始化为空) GBLS 全局变量名 示例代码如下: GBLS Test3;定义全局字符串变量test3 Test3 SETS
[单片机]