摘要:
1、C语言没有String类型,C语言中的字符串是通过字符指针来间接实现的。 2、C语言中定义字符串方法:char *p = "linux";此时p就叫做字符串,但是实际上p只是一个字符指针(本质上就是一个指针变量,只是p指向了一个字符串的起始地址而已)。 3、C语言中字符串的本质:指针指向头、固定 阅读全文
摘要:
1、内存是由操作系统统一管理。 为了内存管理方便又合理,操作系统提供了多种机制来让我们应用程序使用内存。这些机制彼此不同,各自有各自的特点,我们程序根据自己的实际情况来选择某种方式获取内存(在操作系统处登记这块内存的临时使用权限)、使用内存、释放内存(向操作系统归还这块内存的使用权限)。 2、在一个 阅读全文
摘要:
1、环境变量的作用 让我们可以不用修改uboot的源代码,而是通过修改环境变量来影响uboot运行时的一些数据和特性。 譬如说通过修改bootdelay环境变量就可以更改系统开机自动启动时倒数的秒数。 2、环境变量的优先级 (1)uboot代码当中有一个值,环境变量中也有一个值。uboot程序实际运 阅读全文
摘要:
1、uboot命令体系的实现代码在uboot/common/cmd_xxx.c中。有若干个.c文件和命令体系有关。(还有command.c main.c也是和命令有关的) 2、每一个uboot的命令背后都对应一个函数。 3、有些uboot的命令还支持传递参数。也就是说命令背后对应的函数接收的参数列表 阅读全文
摘要:
1、内核启动需要必要的启动参数 (1)uboot是无条件启动的,从零开始启动的。(2)内核是不能开机自动完全从零开始启动的,内核启动要别人帮忙。uboot要帮助内核实现重定位(从SD卡到DDR),uboot还要给内核提供启动参数。 2、启动内核第一步:加载内核到DDR中 (1)uboot要启动内核, 阅读全文
摘要:
二维数组int a[2][5]和一维数组int b[10]其实没有任何本质差别。 1、二维数组a和一维数组b在内存使用效率、访问效率上是完全一样的(或者说差异是忽略不计的)。 2、二维数组的下标式访问和指针式访问 (1)一维数组的两种访问方式。以int b[10]为例, int *p = b;。b[ 阅读全文
摘要:
1、启动流程、重点函数标出 init_sequence cpu_init 空的 board_init 网卡、机器码、内存传参地址 dm9000_pre_init 网卡 gd->bd->bi_arch_number 机器码 gd->bd->bi_boot_params 内存传参地址 interrupt 阅读全文