![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式开发
文章平均质量分 81
storageLearner
这个作者很懒,什么都没留下…
展开
-
文章总目录
目录学习笔记Linux基础(一)Linux基础(二)Linux基础(三)Linux基础(四)Linux基础(五)Linux基础(六)原创 2021-05-26 19:34:53 · 71 阅读 · 0 评论 -
linux kernel 配置与编译
linux内核的配置与编译过程选择九鼎s5pv210开发板移植的Linux内核,下载地址为: 链接:http://pan.baidu.com/s/1sl15QMD 密码:by3o1.首先检查Makefile 查看Makefile主要看一下Makefile中的两个变量:ARCH与CROSS_COMPILE; (1)主要是检查交叉编译工具链有没有设置对。 CROSS_COMPILE ?=原创 2017-07-10 20:44:23 · 1209 阅读 · 0 评论 -
linux内核目录分析
kernel目录分析选择九鼎s5pv210开发板移植的linux内核,下载地址为: 链接:http://pan.baidu.com/s/1sl15QMD 密码:by3o一 分析源目录下文件夹: 1.arch arch是architecture的缩写,意思是架构。arch目录下是好多个不同架构的CPU的子目录,譬如arm这种cpu的所有文件都在arch/arm目录下,X86的CPU的所有文原创 2017-07-10 17:02:00 · 836 阅读 · 0 评论 -
u-boot如何启动内核
内核启动的三个步骤注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe一 将内核搬移到DDR中 一个完整的软件+硬件的嵌入式系统,静止时(未上电时)bootloader、kernel、rootfs等必须的软件都以镜像的形式存储在启动介质中(X210中是iNand/SD卡);运行时都是在DDR内存中原创 2017-07-01 17:20:46 · 2269 阅读 · 0 评论 -
u-boot第二阶段分析(五)
start_armboot函数(五)注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe上一章结束,一些板级的初始化已经完成,下面从Board.c的489行继续开始;1.初始化Norflash并打印配置信息#ifndef CFG_NO_FLASH /* configure available原创 2017-06-28 15:41:35 · 445 阅读 · 0 评论 -
u-boot第二阶段分析(四)
start_armboot函数(四)注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe接着上一章的内容,继续分析init_sequence中的各个函数;1.checkboard 这个函数的作用就是检查当前开发板是哪个开发板并且打印出开发板的名字。代码如下:int checkboard(void)原创 2017-06-28 11:34:12 · 333 阅读 · 0 评论 -
u-boot第二阶段分析(三)
start_armboot函数(三)注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe接着上一章的内容;1.interrupt_init 这个函数看名字是中断初始化,其实是定时器的初始化,准确说是Timer4,代码如下:int interrupt_init(void){ S5PC11X_原创 2017-06-27 15:08:36 · 320 阅读 · 0 评论 -
u-boot第二阶段分析(二)
start_armboot函数(二)注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe接着上一章节的内容,继续往下分析start_armboot函数;1.for循环执行init_sequence 代码如下:for (init_fnc_ptr = init_sequence; *init_fnc_原创 2017-06-26 23:24:38 · 389 阅读 · 0 评论 -
u-boot第二阶段分析(一)
start_armboot函数的引入注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe一 start_armboot函数简介 start_armboot函数是一个长函数,在uboot/lib_arm/board.c的第444——908行,其中也调用了其他函数,共同构成了u-boot的第二阶段。1原创 2017-06-26 15:18:06 · 315 阅读 · 0 评论 -
u-boot第一阶段分析(五)
注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe接着上一章的重定位,重定位之后就跳转到after_copy,代码如下:bl movi_bl2_copyb after_copyafter_copy后的代码是和虚拟地址映射有关的内容。虚拟地址映射一 虚拟地址的有关概念 1.原创 2017-06-23 10:57:28 · 460 阅读 · 0 评论 -
u-boot第一阶段分析(四)
注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe上一章说了lowlevel_init.S,现在重新回到start.S中。1.再次设置栈ldr sp, _TEXT_PHY_BASE sub sp, sp, #12mov fp, #0(1)之前在调用lowlevel_init程序前设置过1次栈原创 2017-06-22 17:11:34 · 342 阅读 · 0 评论 -
u-boot第一阶段分析(三)
lowlevel_init.S的引入注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe继续上一章节的第四小节; 第一次设置完栈之后,跳转到lowlevel_init.S中去,代码如下:bl lowlevel_init通过Source Insight找到lowevel_init.S的实际位置在:原创 2017-06-22 13:29:16 · 656 阅读 · 0 评论 -
u-boot第一阶段分析(二)
start.S分析(二)注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe继续上一章节的内容 一 启动代码的16字节校验头#if defined(CONFIG_EVT1) && !defined(CONFIG_FUSED) .word 0x2000 .word 0x0 .原创 2017-06-21 14:50:12 · 487 阅读 · 0 评论 -
u-boot第一阶段分析(一)
Start.S的引入注:本次分析的u-boot是九鼎官方的u-boot代码 下载地址:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe一 从uboot中找到整个项目的入口 1.从u-boot.lds中找到程序的入口 整个程序的入口取决于链接脚本u-boot.lds中ENTRY声明的地方,为ENTRY(_start)。 所以_start 符号所在的文件就是整原创 2017-06-20 16:04:21 · 431 阅读 · 0 评论 -
uboot的基本概念
uboot的引入一 uboot是什么? uboot是bootloader的一种,是一个嵌入式引导程序。 对比pc机和嵌入式linux系统的启动过程: 1.PC机的启动过程 (1)典型的PC机的部署:BIOS程序部署在PC机主板上(随主板出厂时已经预制了),操作系统部署在硬盘上,内存在掉电时无作用,CPU在掉电时不工作。 (2)启动过程:PC上电后先执行BIOS程序(实际上PC的BIOS就是原创 2017-06-20 14:04:47 · 2563 阅读 · 0 评论