《嵌入式linux开发实用教程》教程学习
时间:10-02
整理:3721RD
点击:
大家好,本人刚开始学习嵌入式Linux,有许多东西不懂。论坛上看到有发表问题分析送书的活动就看看书分析分析,大家莫要怪罪写的粗浅。希望得到大家的支持。1.lowlevel_init函数完成了哪些初始化?
答:lowlevel_init函数的工作是进行与单板相关的初始化工作,故名思议,这个初始化仅仅是最低限度(lowlevel)的。对于s3c6410开发板,包括led灯配置(便于观察现象)、关闭看门狗、设置中断、配置系统时钟、初始化串口、初始化内存和初始化唤醒复位。
2.DDR的内存是如何分配?
答: 对于一个256MB空间的SDRAM,SDRAM的起始地址是:0x5000 0000,即SDRAM的空间分布为0x5000 0000~0x57FF FFFF。
1. SDRAM的最后64K分配给TLB,所分配的地址为:0x57FF 0000~0x57FF FFFF。
2.给u-boot分配BSS、数据段、代码段,分配地址为:0x57F7 5000~0x57FE FFFF。
3.malloc空间,分配的地址为:0x57E6 D000~0x57E7 4FFF。
4.bd结构体分配空间,地址为:0x57E6 CFD8~0x57E6 CFFF。
5.gd结构体分配空间,地址为:0x57E6 CF60~0x57E6 CFD7.
6.分配异常中断空间,地址:0x57E6 CF50~0x57E6 CF5F。
7.0x5000 0000~0x57E6 CF4F 用作保留区
3.Main_loop()函数的作用是什么?
答:Main_loop()函数的主要实现作用是:
1) HUSH的相关初始化,
2) bootdelay的初始化
3) 启动次数设置可以设置启动次数限制
4) Modem功能,Modem功能通常供一些远程控制的系统使用,方便处理其他用户通过电话网络的拨号请求。
5)设置U-Boot版本号,打开动态版本支持功能后,u-boot在启动的时候会显示最新的版本号。
6) 启动tftp功能
7) 打印启动菜单、初始化命令行超时机制、检测是否超出启动次数限制、获取启动命令参数,启动U-Boot。
main_loop()的主要作用即是U-Boot启动管理。
答:lowlevel_init函数的工作是进行与单板相关的初始化工作,故名思议,这个初始化仅仅是最低限度(lowlevel)的。对于s3c6410开发板,包括led灯配置(便于观察现象)、关闭看门狗、设置中断、配置系统时钟、初始化串口、初始化内存和初始化唤醒复位。
2.DDR的内存是如何分配?
答: 对于一个256MB空间的SDRAM,SDRAM的起始地址是:0x5000 0000,即SDRAM的空间分布为0x5000 0000~0x57FF FFFF。
1. SDRAM的最后64K分配给TLB,所分配的地址为:0x57FF 0000~0x57FF FFFF。
2.给u-boot分配BSS、数据段、代码段,分配地址为:0x57F7 5000~0x57FE FFFF。
3.malloc空间,分配的地址为:0x57E6 D000~0x57E7 4FFF。
4.bd结构体分配空间,地址为:0x57E6 CFD8~0x57E6 CFFF。
5.gd结构体分配空间,地址为:0x57E6 CF60~0x57E6 CFD7.
6.分配异常中断空间,地址:0x57E6 CF50~0x57E6 CF5F。
7.0x5000 0000~0x57E6 CF4F 用作保留区
3.Main_loop()函数的作用是什么?
答:Main_loop()函数的主要实现作用是:
1) HUSH的相关初始化,
2) bootdelay的初始化
3) 启动次数设置可以设置启动次数限制
4) Modem功能,Modem功能通常供一些远程控制的系统使用,方便处理其他用户通过电话网络的拨号请求。
5)设置U-Boot版本号,打开动态版本支持功能后,u-boot在启动的时候会显示最新的版本号。
6) 启动tftp功能
7) 打印启动菜单、初始化命令行超时机制、检测是否超出启动次数限制、获取启动命令参数,启动U-Boot。
main_loop()的主要作用即是U-Boot启动管理。