摘要: 基于samsung的Exynos 4412,U Boot版本为2010.03 前面我们介绍了u boot的第一阶段和第二阶段,今天我们来介绍u boot引导内核,这也是u boot的最后一个阶段,也就是说,这个阶段过后,u boot的任务就彻底结束了,Linux内核将接管一切软硬件资源。下面开始我们 阅读全文
posted @ 2019-12-13 19:04 ShijiaYin 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 基于samsung的Exynos 4412,U Boot版本为2010.03 在 "U Boot启动之第一阶段" 中,我们知道了U Boot是通过start_armboot这个函数进入第二阶段的,所以我们从这个函数开始分析。 定义一个二级指针,后面会用到 定义一个gd数据结构用来存放一些信息,存放什 阅读全文
posted @ 2019-12-12 21:14 ShijiaYin 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 基于samsung的Exynos 4412,U Boot版本为2010.03 从链接脚本u boot.lds中我们知道u boot是从start.s这个汇编文件开始的,所以u boot启动的第一阶段肯定也是从这里开始的,这个文件在cpu/arm_cortexa9/文件夹下,下面我们依照这个文件一步一 阅读全文
posted @ 2019-12-11 11:44 ShijiaYin 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 我的linux学习是建立在讯为的iTop 4412开发板上的,讯为开发板使用手册里面有教我们怎么利用U Boot命令进行EMMC格式化分区,以前照着做是为了快速上手,但现在不行了,现在我要搞清楚它们到底是怎么实现的,下面开始我们的探索。 先看看格式化命令长什么样 第一个命令 ,我利用vscode的全 阅读全文
posted @ 2019-12-10 18:45 ShijiaYin 阅读(2235) 评论(0) 推荐(0) 编辑
摘要: 本文分析的u boot的版本为2010.03 正常编译u boot的流程如下 在 "u boot之mkconfig解析" 中,我们已经了解了make xxx_config做了哪些事情,今天我们就要利用它做的事情来继续分析make all这个命令。 其实分析这个命令,也就是等于分析顶层目录下面的Mak 阅读全文
posted @ 2019-12-09 14:02 ShijiaYin 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 正常U Boot的编译流程如下 当我们执行第一条指令时,它会到Makefile中找到如下代码,然后执行 其中的依赖 定义如下 这个依赖的意思是:在执行下面的指令之前,先去执行unconfig,也就是清除上次执行make itop_4412_android_config_scp_1GDDR 产生的配置 阅读全文
posted @ 2019-12-05 11:30 ShijiaYin 阅读(442) 评论(0) 推荐(0) 编辑
摘要: [toc] 序言 离散系统和连续系统类似 建立离散状态空间模型 和上一篇文章中的连续系统一样,我们首先要做的就是建立状态空间模型,有多种方法可以用来建立状态空间模型,我们这里介绍差分方程法和Z传递函数法。 由差分方程建立状态空间模型 我们将系统分为含有高阶差分项和不含高阶差分项两种情况,后者是前者的 阅读全文
posted @ 2019-11-23 16:36 ShijiaYin 阅读(6663) 评论(0) 推荐(0) 编辑
摘要: [toc] 序言 前天学习FreeRTOS,想着通过对比着UCOSIII来理解,会更容易一点,在这对比的过程中,发现自己对UCOSIII还不是很熟悉,不仅如此,对CM3内核也不是很熟悉(学操作系统竟然不熟悉芯片内核,真是有点搞笑)。因此我打算重新复习一下UCOSIII,但又不能像刚开始学习UCOSI 阅读全文
posted @ 2019-11-23 16:27 ShijiaYin 阅读(625) 评论(0) 推荐(0) 编辑
摘要: [toc] 序言 FreeRTOS的代码写得真的像是一坨坨的shit,我一点看的欲望都没有。相比之下,UCOSIII的代码写得就好看多了,我看着看着就看回了UCOSIII,今天我重点看了移植部分与滴答定时器有关的内容,下面我就来表达一下我是如何理解这个部分内容的,本篇文章主要分为如下两个部分 CM3 阅读全文
posted @ 2019-11-23 16:24 ShijiaYin 阅读(689) 评论(0) 推荐(0) 编辑
摘要: [toc] 序言 上一篇博客中我介绍到,单片机使用一个与内核绑定的定时器产生固定频率的中断,这个中断所对应的ISR会调用OSTimeTick(),OSTimeTick()会使用OS_IntQPost来向一个IntQ队列中放一个Post过程信息,之后让OS_IntQTask就绪,来向OS_TickTa 阅读全文
posted @ 2019-10-19 20:03 ShijiaYin 阅读(428) 评论(0) 推荐(0) 编辑