02 2017 档案
摘要:1:I2C通信原理: I2C通信接线只有两根,SDA、SCL。 SDA用来传输地址、命令、数据。SCL用来提供时钟。 在I2C通信线上可以接多个slave device(从设备)。 I2C通信特点 (1) 每次通信都是由主设备发起,每个slave device都有固定一个通信地址,开始通信以后,主设
阅读全文
摘要:1:获取内核 解压内核压缩包 2:内核源码树
阅读全文
摘要:uboot 环境变量实现原理: 首先我们先要搞清楚uboot中环境变量的作用,uboot中环境变量的作用就是在不改变源码、不用重新编译的情况下,可以使我们通过 设置环境变量的值来改变uboot的一些设置,如bootdelay时间、机器码的值等等。 下面我们来具体看一下uboot中环境变量如何实现 首
阅读全文
摘要:1:做好上一章的准备工作,下面我们开始移植uboot 首先修改交叉编译工具链:在主Makefile文件中的交叉编译工具链修改为: 下面把烧录文件移植到uboot中; 把三星移植好的uboot中的sd_fusing 复制到新的uboot的根目录中,烧录sd卡 输出信息如下,说明校验头失败; 分析sd_
阅读全文
摘要:1:uboot下载地址:ftp://ftp.denx.de/pub/u-boot/ 我们下载的版本是:u-boot-2013.10.tar.bz2; 2:下载好以后,删除里面的相关文件 因为三星是的s5pv1XX这个cpu做了很多个板子,我们在移植的时候虽然与三星的开发板不同但是用的cpu是相同的,
阅读全文
摘要:1:选择三星移植好的uboot,首先进行配置 因为我们用的是210的cpu所以选择三星的210开发板的配置: 在开始移植之前我们首先要把不相关的cpu、board、lib目录删除 首先来看board目录下:把不相关的开发板的文件全部删除只保留:board->samsung->common文件夹以及b
阅读全文
摘要:一:NAT方式上网: (1):菜单栏中虚拟机-》设置-》网络适配器-》NAT模式 (2):/etc/network/interfaces文件修改为: 之前这个文件中为: auto lo iface lo inet loopback 加上上面那些内容 把这段删除 (3):ifdown ens33 //
阅读全文
摘要:1:DM9000原理分析 s5pv210接DM9000 底板图: 重要的引脚有:IOR、IOW、AEN、CMD、INT、RST 以及数据引脚 SD0-SD15 看数据手册这些引脚的作用: IOR:读选择引脚,低电平有效,即低电平是读; IOW:写选择引脚,低电平有效,即低电平写; CS (chip
阅读全文
摘要:1:MMC驱动初始化是在start_armboot函数中 setup_hsmmc_cfg_gpio:初始化相关GPIO可以对数据手册来看比较简单; 下面来看一下smdk_s3c_hsmmc_init函数 这个函数实际是调用的s3c_hsmmc_initialize 这个函数 s3c_hsmmc_in
阅读全文
摘要:1:什么是UBOOT,为什么要有UBOOT? UBOOT的主要作用是用来启动linux内核,因为CPU不能直接从块设备中执行代码,需要把块设备中的程序复制到内存中,而复制之前还需要进行很多初始化工作,如时钟、串口、dram等; 如要想让CPU启动linux内核,只能通过另外的程序,进行必要的初始化工
阅读全文
摘要:uboot中命令行的实现原理: uboot中设备的输入输出是通过串口来作为标准输入输出的,我们可以通过securecrt软件来接受设备从串口发出的信息,也可以通过securecrt软件写入串口向设备中发送命令; 所以在设备调试的时候通常都是通过打印串口信息调试的; 第一步:在主函中设置一个死循环用来
阅读全文
摘要:字符串常量,放在哪个存储区呢?是“自动存储区”还是“静态存储区”中?比如:char *pstr="hello world!";这里,"hello world!"是一个字符串常量,pstr是在栈中的变量。我想问,字符串常量,在哪个内存区域分配空间呢?好像应该不是在“栈区“分配空间吧!!! 一、预备知识
阅读全文
摘要:恢复内容开始 1:初始化堆管理器 malloc的初始化只设置了堆的start地址和end地址、以及一个malloc_brk,uboot的堆内存管理机制重新开一个章节详解介绍; 2:SD/MMC的初始化:输出SD/MMC:真正执行硬件初始化的函数是 cpu_mmc_init(bis); 3:env_r
阅读全文
摘要:1:上一节讲到start.S中进行了一系列的SoC相关硬件初始化以后进行了长跳转到start_armboot 函数中; start_armboot进一步初始化board中硬件,并设置了uboot下的命令行、环境变量、基本命令、跳转到kernel 下面详细介绍start_armboot中的代码: 第一
阅读全文
摘要:uboot中start.S文件详解 1:第一段代码 头文件包含config.h在mkconfig脚本中生成,内容为#include <configs/x210.h> 头文件包含version.h文件中的内容是#include "version_autogenerated.h" version_aut
阅读全文
摘要:1:经过之前的分析我们知道Makefile主要做的事情有: (1):首先配置makefile make x210_sd_config 配置时实际上执行的是:./mkconfig xd_210 arm s5pc11x x210 samsung s5pc110 ./mkconfig 为一个shell脚本
阅读全文
摘要:autoconf.mk uboot的顶层Makefile中有如下的一段代码 [plain] view plaincopy # # Auto-generate the autoconf.mk file (which is included by all makefiles) # # This targ
阅读全文
摘要:Makefile生成自动依赖的方法有两种: 1. 将所有.o文件的依赖关系写入单独文件,然后在Makefile中调用该文件 2. 每个.c文件对应一个.d文件,将依赖关系写入.d文件中 一、对于第一种方法,Makefile的写法如下: #file start CC = gcc SRCS := $(w
阅读全文
摘要:1,tar命令常见参数与实例:必须的参数:(3个参数不能共存)-c :创建压缩文件c代表create。-x :解压缩文件-t :查看压缩包里面的文件! 辅助参数:-z :用 gzip 压缩/解压缩-j :用 bzip2 压缩/解压缩-v :显示压缩/解压缩的进度条-f :使用档名(注意:f后面不要接
阅读全文
摘要:函数、函数指针的理解: 函数的定义: void myfunc(void) { } 函数的声明 void myfunc(void); 函数指针的定义、初始化、赋值; 定义:void (*funcp)(void); 初始化: void (*funcp)(void) = &myfunc; 赋值 void
阅读全文
摘要:1:s5pv210启动原理:s5pv210启动的时候首先查看OMpin设置的启动方式,如果设置为SDMMC启动的话,首先从SD的通道1启动,但是通道1连接的是iNand,如果iNand中启动不了, 则从SD卡的通道2启动,sd卡通道2连接外置的sd卡,BL0首先从sd卡的第一扇区中复制16kb到sr
阅读全文
摘要:1:timer计时器原理 计时器内部实质是一个计数器,计数器工作在一定的时钟频率下,比如200KHz(每秒计数200 000下),计时器内部有一个TCNT寄存器,这是一个down-counter(减计数器) 每个时钟频率减1,我们可以设置TCNT里的数字(比如200 000)当TCNT中的数值减为0
阅读全文

浙公网安备 33010602011771号