ARM点灯---看手册

知识点:

一个程序可能会遇到内存泄漏问题,可能一次运行泄漏几M大小,执行几个小时才会泄漏到站崩溃,所以要查看是否有内存泄漏。

查看手册教程

0927-上午 视频1:25;00

硬件程序开发流程

最小系统:单片机、晶振电路、电源电路、复位电路、内存 flush、

第一步:

1.看开发板丝印

丝印找对应原理图引脚

第二步:

在原理图底板和核心板找到对应引脚和GPIO口

第三步:

找到对应引脚

第四步:

读手册,一般引脚操作就先

第五步:

keil4编写代码

#define GPGCON_KEY (*( volatile unsigned long *)0x56000060UL)

#define GPGDAT_KEY (*( volatile unsigned long *)0x56000064UL)

写成宏定义有助于程序的编写

GPGDAT_KEY:自己设计的宏名

volatile关键字:

unsigned long:无符号是因为地址都为正数,long是因为32位操作系统long为4个字节,64位操作系统,long为8个字节,如果写int 32位64位都是4字节,不同操作系统地址存放也不一样,所以为unsigned long型

UL:表示这个数是无符号长整型(别人一看就知道)

第六步:

对CON、DAT两个部分进行位操作,规则参考第四步

将按键状态值封装成函数,返回值表示dat值,获取到dat值

main.c点灯代码

视频知识点:

GPB5配置

地址写入值

先强转为指针,再修改其值

0x56000010硬件地址(寄存器),与cpu中真正的寄存器不一样,那是真正的寄存器 这里只是硬件地址

UL表示无符号长整型

volatile关键字 易失性修饰

cash缓存

烧录程序

keil4软件烧录前配置

0927下午 00:30

相关推荐
零依赖极客44 分钟前
Day 9·1 KV 也量化——q8 KV 把缓存与 decode 带宽压到一半
c语言·开发语言·arm开发·人工智能·缓存·矩阵
secondyoung10 小时前
I2C通信协议详解
arm开发·驱动开发·stm32·单片机·嵌入式硬件·mcu·51单片机
奔跑的架构师12 小时前
[A-50]ARMv9/v8-DVFS系统架构
linux·arm开发·架构·系统架构·arm
零依赖极客20 小时前
Day 8·1 自注意力机制:Q·K^T/softmax/V的在线计算
c语言·arm开发·人工智能·llama
T1mzhou1 天前
ARM64 Linux 6.10 内核驱动(14):drivers/base/platform.c:板级设备主战场
linux·c语言·开发语言·arm开发
零依赖极客2 天前
《30 天手搓 ARM 架构零依赖纯 C 推理引擎》课程介绍与大纲
c语言·开发语言·arm开发·人工智能·嵌入式硬件·ai编程
新时代牛马2 天前
ATF/ TEE / REE 与ARM 异常级别EL 安全体系完整篇:TrustZone硬件到 SMC 进OP-TEE的全链路
arm开发·python·安全
T1mzhou2 天前
ARM64 Linux 6.10 内核驱动(13):bus.c / driver.c 总线两张表,驱动怎么挂上去
linux·服务器·c语言·arm开发·arm
2401_862880823 天前
嵌入式开发 --- 51单片机与ARM核心知识
arm开发·嵌入式硬件·51单片机
CubeSandbox3 天前
Cube Sandbox 受邀亮相 Arm Create:腾讯云工程师将在“云 + AI”专场带来开场演讲
arm开发·腾讯云·cube sandbox