U-Boot
文章平均质量分 65
weixin_45228780
本人主要从事工控产品的软件开发,熟悉C语言、C++、C#、JAVA,熟悉单片机开发,熟悉PLC编程,熟悉嵌入式Linux开发,熟悉各种工业控制通讯接口。
展开
-
U-Boot源码之udelay、get_ticks
在U-Boot中会有一些需要用到延时的场景,像延时输入进入uboot中,擦除Flash,从控制台读取用户输入的命令等。一、U-Boot延时函数的实现 U-Boot延时函数主要在cpu/内核框架/处理器型号/timer.c文件中实现,比如cpu/arm926ejs/mx28/timer.c。1、timer.c定义了表示当前时间的全局变量timestamp和上一次访问定时器的时间lastdec。timestamp表示自调用函数timer_init以来定时器经过的总计数值。la...原创 2021-03-09 10:29:50 · 1792 阅读 · 0 评论 -
U-Boot源码之console、printf等
u-boot使用printf、puts函数打印调试信息。printf、puts函数都是在console.c文件中实现的。console.c实现了控制台。 console,翻译过来的意思是控制台,其实是为内核提供打印的。console必须和一个具体的设备连接在一起。pc的终端常用的是由显示器和键盘构成,用户打印和内核打印都从这个终端反映给用户。所以,这里/dev/console是连接到/dev/tty0的。如果,我们来个专门打印内核的设备(比如通过串口),我们把那个串口注册到co...原创 2021-02-20 09:51:56 · 830 阅读 · 0 评论 -
U-Boot源码之NAND Flash驱动
这里以u-boot-2009.08版本介绍U-Boot的NAND Flash驱动的实现。要明白U-Boot的NAND Flash驱动的实现,首先要了解NAND Flash的基础知识。一、NAND Flash简介 关于NAND Flash的介绍,可以参看下面两篇博文: https://blog.csdn.net/shengnan_wu/article/details/8116861?utm_medium=distribute.pc_relevant_t0.no...原创 2021-01-22 09:57:02 · 2087 阅读 · 0 评论 -
U-Boot源码之串口驱动
一、U-Boot与Linux驱动1. uboot本身是裸机程序(1) 裸机本来是没有驱动的概念的(狭义的驱动的概念就是操作系统中用来具体操控硬件的那部分代码叫驱动)(2) 裸机程序中是直接操控硬件的,操作系统中必须通过驱动来操控硬件。这两个有什么区别?本质区别就是分层。2.uboot的虚拟地址对硬件操作的影响(1) 操作系统(指的是linux)下MMU肯定是开启的,也就是说linux驱动中肯定都使用的是虚拟地址。而纯裸机程序中根本不会开MMU,全部使用的是物理地址。这是裸机下和驱动中操.原创 2020-12-09 13:38:22 · 1687 阅读 · 0 评论 -
U-Boot源码之内核启动
请参看文章:https://blog.csdn.net/wangweijundeqq/article/details/81435399原创 2020-12-07 09:17:37 · 69 阅读 · 0 评论 -
U-Boot源码之命令
U-Boot支持很多命令,通过命令我们可以实现很多操作。这里介绍U-Boot命令的实现。一、U-Boot命令的操作1.进入命令 U-Boot 自带命令行接口,在 U-Boot 启动期间,按任意键(如空格键)可进入 U-Boot Shell 命令行,在Shell 界面可输入 U-Boot 支持的命令,使用 U-Boot 提供的各种功能:U-Boot 2009.08-dirty ( 5 月 18 2015 - 10:22:36)Freescale i.MX28 familyCP...原创 2020-11-20 10:51:00 · 518 阅读 · 2 评论 -
U-Boot源码之环境变量
U-Boot通过环境变量(env)为用户提供一定程度的可配置性,这些环境变量包括串口终端所使用的波特率(baudrate)、启动操作系统内核的参数(bootargs)、本地IP地址(ipaddr)、网卡MAC地址(ethaddr)等等。环境变量可以固化到非易失性存储介质中,使用相关命令来查看、设置及保存环境变量。一、环境变量的命令操作1.查看环境变量使用 printenv 命令即可查看 U-Boot 的所有环境变量:MX28 U-Boot > printenvbootcmd=run原创 2020-11-09 16:56:07 · 1285 阅读 · 0 评论 -
U-Boot源码之函数start_armboot
U-Boot启动执行完start.s文件里的reset部分代码后,程序将跳转至函数start_armboot。函数start_armboot位于lib_arm/board.c文件中。函数start_armboot是U-Boot启动的第二个阶段,它将完成U-Boot启动的所有工作并最终进入main循环。...原创 2020-10-14 11:04:30 · 271 阅读 · 0 评论 -
U-Boot源码之start.s
start.S 文件是U-Boot启动最先执行的代码,对start.S 文件的正确理解是整个U-Boot源码理解的开端和基础。要理解start.S 文件,需要具备一些预备知识,下面先介绍这些预备知识。一、start.S预备知识原创 2020-10-12 13:10:40 · 662 阅读 · 0 评论 -
U-Boot源码之概述
一、U-Boot 目录简介U-Boot 源代码结构清晰,按照 CPU 以及开发板进行安排。进入 U-Boot 源码目录,可以看到如图1的目录。 图1U-Boot 根目录内容在该目录中,重要的子目录说明如表1所列。U-Boot 重要目录说明 ...原创 2020-08-28 11:13:17 · 569 阅读 · 0 评论 -
U-Boot 简介
。。。。。。。原创 2020-08-24 09:59:14 · 720 阅读 · 0 评论