本文学习目标:         掌握"make 100ask24x0_config"指令在Makefile和mkconfig文件中是怎么实现配置芯片选型 1.执行make 100ask24x0_config用来配置芯片选型,它执行以下一段,该段在Makefile中定义. 首先打开u-boot-1.1.6/Makefile文件: 87 SRCTREE := $(CURDIR) *CURDIR是make的内嵌变量, 为当前目录 92 MKCONFIG := $(SRCTREE)/mkcon…
内核启动并初始化后,最终目的是像Windows一样能启动应用程序,在windows中每个应用程序都存在C盘.D盘等,而linux中每个应用程序是存放在根文件系统里面,那么挂载根文件系统在哪里,怎么实现最终目的运行应用程序? 1.内核运行应用程序步骤: 1.1首先是进入stext函数启动内核: ENTRY(stext): ... ... //启动内核 b start_kernel //跳转start_kernel() 1.2然后进入strat_kernel()初始化: asmlinkage voi…
内核启动分析之start_kernel初始化函数(init/main.c) stext函数启动内核后,就开始进入start_kernel初始化各个函数, 下面只是浅尝辄止的描述一下函数的功能,很多函数真正理解需要对linux相关体系有很深的了解后才能明白 代码如下: asmlinkage void __init start_kernel(void) { char * command_line; extern struct kernel_param __start___param[], __sto…
目标: (1)创建Source Insight 工程,方便后面分析如何启动内核的 (2)分析uboot传递参数,链接脚本如何进入stext的  (3) 分析stext函数如何启动内核:  (3.1) 关闭irq和fiq,设置svc管理模式      (3.2)判断是或支持这个CPU      (3.3)判断是否支持这个单板(通过uboot传入的机器ID判断)      (3.4)创建页表,为后面的MMU做准备      (3.5) 使能MMU并跳到__switch_data处,复制数据段,清除b…
目标: 通过分析makefile,明白make uImage如何编译内核 把整个内核的makefile分成三类(makefile资料文档在linux-2.6.22.6/Documentation/build/makefiles.txt) <1>各级子目录makefile(每个子目录都有makefile)<2>/arch/arm/Makefile(架构相关的makefile)<3>顶层目录makefile 在顶层目录makefile中auto.conf和/arch/arm…
事后诸葛亮分析 1. 设想和目标 1.1 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决查询物流信息步骤繁琐的问题.定义还算清楚.典型用户主要针对一些不熟悉淘宝等查询物流步骤的中老年人. 1.2 和上一个阶段相比,团队软件工程的质量提高了么? 在什么地方有提高?具体提高了多少?如何衡量的? 由于是第一个阶段,所以不存在上个阶段. 1.3 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?) 我们基本上…
STM32F103 ucLinux开发BOOT STM3210E-EVAL官方开发板主芯片STM32F103ZET6: 片内512K Flash,地址0x0800 0000 ~ 0x0807 FFFF: 64K RAM,地址0x2000 0000 ~2000 FFFF. 利用其FSMC功能外扩了NorFlash和SRAM:NorFlash大小16M,地址0x6400 0000 ~ 6500 0000SRAM大小1M,地址0x6800 0000 ~ 0x6810 0000 ST官网已经给出了uCL…
目标: 分析make menuconfig内核配置过程 在上1小结中(内核编译试验)讲到了3种不同的配置: (1)通过make menuconfig 直接从头到尾配置.config文件 (2) 通过make s3c2410_deconfig 命令在默认的配置上进行自动修改.config文件 (3)使用厂家提供的配置config_ok文件覆盖.config文件 所以,所有的配置结果都是配置.config文件 1 在linux下通过vi指令查看.config内核配置文件 如上图所示:就是一堆配置项:…
/* * the actual reset code */ reset: /* * set the cpu to SVC32 mode */ mrs r0,cpsr bic r0,r0,#0x1f orr r0,r0,#0xd3 msr cpsr,r0 为什么一来需要把cpu 设置成svc管理模式? usr模式,此模式不可以直接访问板子的硬件资源,而uboot初始化,必须要去访问此类资源,所以不可以设置为usr模式. svc模式属于特权模式,可以访问所有硬件受控资源.相对于其他的模式,SVC模式…
一.设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件主要是解决在宿舍中购买商品的软件,不同于淘宝等软件,本软件主要是用于学生开设的店铺及宿舍楼中的购物.定义相对较清晰,暂无场景的描述. 2.是否有充足的时间来做计划? 并没有很充足的时间,大三课程不少,团队成员还有很多课外课程. 3.团队在计划阶段是如何解决同事们对于计划的不同意见的? 主要是通过协商讨论解决,在分歧较大时,听取有可靠可行性方案的. 4.用户量, 用户对重要功能的接受程…