Linux+——u-boot
metersun
热爱文学,哲学,心理学等其他社会科学。早年尤其关注心理学。
一位阴差阳错走上电子行业,关注嵌入式软硬件、Linux、后端、k8s、云原生以及Devops,并痴迷于此的文学爱好者。
怀有悲观主义的乐观主义者。
展开
-
u-boot串口和stdio、console初始化及相关操作详解<一>
当u-boot的启动执行到_main函数处,将在_main函数中执行板级的前初始化和后初始化操作,即函数board_init_f和board_init_r。串口的初始化以及相关stdio、console操作穿插在这两个函数的执行过程中。下面将分别详细讨论这两阶段中涉及的串口及stdio、console设备操作。这里所使用的u-boot版本为2015.7,硬件为I.MX6 boundar原创 2016-09-13 17:09:59 · 4957 阅读 · 1 评论 -
I.MX6 u-boot.imx中IVT、DCD等头部数据的生成
IVT、Boot Data structures、DCD是I.MX6启动时的重要数据和配置。IVT中包含Boot Data structures、DCD地址定位的信息。BOOT ROM 根据这些地址定位找到DCD的存储位置,使用DCD中的配置参数,来初始化DDR,配置时钟,以及其他启动时必要的硬件设置。Boot Data structures中包含数据拷贝的目标地址和长度, BOOT RO原创 2016-08-27 10:41:13 · 8948 阅读 · 0 评论 -
u-boot串口和stdio、console初始化及相关操作详解<二>
二.board_r阶段串口操作和stdio初始化该阶段包括3个函数:stdio_init_tables、 initr_serial、stdio_add_devices。下面逐一对其进行详细说明。1. stdio_init_tablesint stdio_init_tables(void){ /* Initialize the list */ INIT_LIST_HEA原创 2016-09-14 11:42:12 · 2067 阅读 · 0 评论 -
u-boot中环境变量操作和hash表
u-boot对环境变量的处理主要包括两部分:一是环境变量初始化,二是环境变量的设定、删除等操作。下面将分别进行讨论。这里所使用的u-boot版本为2015.7,硬件为I.MX6 boundary nitrogen6q开发平台。一 .环境变量初始化1.读取环境变量环境变量的初始化在board_init_f阶段完成,其有在common/barod_r.c中定义的静态函数initr_原创 2016-09-19 11:42:25 · 3633 阅读 · 1 评论 -
u-boot串口和stdio、console初始化及相关操作详解<三>
console是构建在stdio之上的,console的初始化是board_r中最后收尾的操作。console的初始化函数console_init_r在common/console.c中实现:int console_init_r(void){ char *stdinname, *stdoutname, *stderrname; struct stdio_dev *inputd原创 2016-09-19 10:51:11 · 4167 阅读 · 0 评论 -
函数main_loop和u-boot命令执行
一.main_loop函数执行流程和命令解释器run_main_loop是board_r中函数运行列表init_fnc_t init_sequence_r[]最后一个函数,它又调用了main_loop,且run_main_loop永不返回。static int run_main_loop(void){ /* main_loop() can return to retry autoboot...原创 2016-09-21 09:11:14 · 6222 阅读 · 3 评论 -
在eclipse中编译u-boot
开发环境:主机:ubuntu 16.04 64bit,4核CPUu-boot版本:u-boot.2017.07cross gcc: $sudo apt-get install gcc-arm-linux-gnueabihf开发板:sabrelite 6Q一 .安装jdk下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk...原创 2018-04-02 10:09:16 · 1850 阅读 · 0 评论