嵌入式
文章平均质量分 87
睡不醒的小泽
美好的一天,从干饭摆烂睡大觉开始
展开
-
3.14内核下GPIO使能(同时支持uboot阶段的配置)
如何在uboot下实现GPIO配置,并在最终Linux启动完成之后的阶段生效原创 2024-09-11 16:50:48 · 1127 阅读 · 0 评论 -
【笔记】ARM裸机程序开发_part3
7.1 uart电平通信:绝对的电压是没有意的,电压差是真正的意义。电平信号的传输线中有一个参考电平线(一般是GND) 容易受到干扰,届时传输失败 8位二进制并行通信时:需要9根线(1参考GND+8数据线) 差分信号:也是两条线,但是没有1和0,通过高电平减去其对称的低电平(详情1.7.1 37分钟),可能有9V-0.6V 最显著的特征就是抗干扰能力比较强,传输质量比原创 2017-12-28 21:31:24 · 537 阅读 · 0 评论 -
【笔记】Linux应用编程的信号机制
上一节的一点尾巴: 使用alarm+pause实现sleep功能pause的作用是将内核挂起,减小资源使用。但是当接受到信号的时候就会被唤醒。alarm(3);pause();等同于sleep(3);alarm(3);signal(SIGALRM , SIG_IGN); //SIGNAL_ignore:处理方式,忽略这个信号 pause(); 等同于不占用资源的while(1)5.原创 2018-01-01 20:24:20 · 457 阅读 · 0 评论 -
【笔记】ARM裸机程序开发_part2
四、GPIO和LED 4.1usb配置DNW启动DNW驱动安装需要数字签名,我们装好驱动后,连接USB线,配置DNW 下载地址是0xd0020010(这个地址是BL1的地址,约定好辣~) 按住power,DNW中选择Transmit,下载要装载的裸机程序其原理也就是说,我们把裸机程序当成了BL1,上电后运行BL1也就是运行了写好的裸机程序。关于0xd0020010的由来,参考官方的iROM手册原创 2017-12-28 21:08:13 · 871 阅读 · 1 评论 -
【笔记】ARM裸机程序开发_part5
总线上的其他设备全部都能接收到,总线上的从设备都到地址后,要和自己的地址进行比较看是否相等。主设备先释放总线,然后从设备回应ACK。如果从设备没有拉低总线,则主设备看到的现象是总线在一直高,没有收到ACK,主设备就认为刚刚发送的8bit接收失败。这里有一个隐情:gsensor中发送多个DATA数据不会写到一个寄存器里,而是gsensor有逻辑,每当发送一个额外的DATA,寄存器地址都会向后移动。每个I2C设备都有一个从地址,该地址是唯一的,是设备本身固有的设备,在通信中通过地址来甄别各个I2C设备。原创 2017-12-28 21:56:04 · 820 阅读 · 0 评论 -
【笔记】ARM裸机程序开发_part4
10 SD卡详解内存和外存的区别:一般是把这种RAM(random access memory,随机访问存储器,特点是任意字节读写,掉电丢失)叫内存,把ROM(read only memory,只读存储器,类似于Flash SD卡之类的,用来存储东西,掉电不丢失,不能随机地址访问,只能以块为单位来访问)叫外存1.10.1.1、软盘、硬盘、光盘、CD、磁带 (1)存储原理大部分为磁存储,缺点是读写速原创 2017-12-28 21:40:47 · 600 阅读 · 0 评论 -
【笔记】ARM裸机程序开发_part1
ARM裸机开发的一些基础知识,基于x210开发板原创 2017-12-28 20:39:30 · 2330 阅读 · 0 评论 -
【笔记】嵌入式C语言随堂笔记
math库中有一些库函数和子函数,因为库函数很多,搜索起来比较久,ld默认只查找几个最常用的库,如果是一些不常用的库函数被调用,需要程序员在链接时明确给出要扩展查找库的名字。静态链接库,商业公司将自己的函数库源代码 只编译不链接,形成.o的目标文件,然后用ar文件工具将.o文件归档成.a(.a的归档文件,又称为静态链接库文件)内存是可以并联的,8位的内存芯片也是可以构成32位的。原理:虚拟一个type类型的结构体变量,然后用type.member的方式来访问member元素,继而得到他的偏移量。原创 2017-12-27 22:38:29 · 1256 阅读 · 0 评论