嵌入式
奔跑的小刺猬
欲速则不达
展开
-
用C语言写自己的printf函数
第一部分分析首先看一下printf函数的原型声明:int __cdecl printf(const char * __restrict__ _Format,...); 上面这个是我在Dev-C++上复制过来的函数声明,其实无论是哪个版本声明部分作用都是一样的。接一下我们看一下printf的返回值是什么玩意? 上图就是我自己实际测试得出来的一个结果。6621! ...原创 2016-11-04 17:23:28 · 32423 阅读 · 22 评论 -
C语言中可变参宏的一种实现方式
好久不写了,有点手生了都。下面主要分析可变参数宏的一种实现。因为C语言的标准库是可平台(处理器)有关的,所以本历程不能保证所有的处理器可用。本人在裸机ARM的处理器上实现过类似printf函数,适合ARM平台使用。下面带代码来自linux内核的stdarg.h头文件typedef char *va_list; #define _AUPBND (sizeof (acpi_native_int...原创 2018-05-07 19:54:42 · 1994 阅读 · 0 评论 -
S5PV210的DDR初始化
S5PV210中DDR的初始化在数据手册中已经说明了步骤,总共27步。本人借助手册进行简单翻译和用代码描述。ddr时间相关的参数是根据我自己的开发板的ddr设置的,如果想用比较通用的参数,可以参考三星的原版uboot,里面的参数范围比较通用。1. 为了提供稳定的电源给控制器和内存设备,控制器必须确保CKE维持低电平。然后提供一个稳定的时钟。注意:XDDR2SEL需保持高来维持CKE为低.通常板子都...原创 2018-05-12 22:49:55 · 953 阅读 · 0 评论 -
u-boot的do_setenv函数简要分析
1.setenv是不需要写等号的 即:setenv bootdelay 10 ,对写等号的使用者会打印使用错误信息。2.查找是setenv的环境变量是否已经存在,存在则oldval为正数。同时若存在则env最终指向那个环境变量的开头,nxt指向那个环境变量的结尾。若不存在,则env和nxt都指向环境变量区最后一个环境变量。整个过程中env_data是始终指向环境变量分区的首地址。3.针对上面查找...原创 2018-05-06 23:24:05 · 1932 阅读 · 0 评论 -
S5PV210的IROM做了什么
对S5PV210_iROM_ApplicationNote_Preliminary_20091126手册里的描述翻译一下。1.关看门狗定时器 这个很容易理解,为了防止后面用户忘记初始化而系统重启。为什么三星要这么麻烦,不默认禁止掉看门狗,我猜看门狗定时器应该是属于内核的内容,是ARM公司定的。2.初始化指令缓存这个是为了加快CPU指令存取,通常CPU取指令是用到一条在内存中读取一条(...原创 2018-05-13 22:37:18 · 1117 阅读 · 0 评论 -
利用linux驱动思想实现s5pv210的lcd控制器
本文章主要参考自韦东山老师的新一期裸板视屏中LCD显示章节最近在看驱动,发现部分。韦老师的裸机部分已经使用了驱动的操作分层和数据分离的思想,回来再刷一遍,顺便做好记录。1.LCD的扫描显示原理大家可以看下面这篇文章,讲的特别清晰,我就不重复。http://www.cnblogs.com/shangdawei/p/4760933.html2.S5PV210的LCD组成因为S5PV210的LCD支持很...原创 2018-07-08 18:02:16 · 829 阅读 · 0 评论 -
利用linux驱动思想实现s5pv210的I2C控制器操作
本文章主要参考自韦东山老师的新一期裸板视屏中I2C章节I2C控制器主要分为两个点,公共接口实现和平台接口实现先看一下公共接口实现#ifndef __I2C_CONTROLLER_H__#define __I2C_CONTROLLER_H__struct i2c_msg { const char *name; unsigned int addr; /* 7bit */ int flags...原创 2018-07-13 00:05:03 · 581 阅读 · 0 评论 -
arm的mmu学习
1.什么是mmuMMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。物理地址:(英语:physical address),也叫实地址(real address)、二进制地址(binary address),...原创 2018-07-17 23:00:47 · 10814 阅读 · 1 评论