- 博客(5)
- 收藏
- 关注
原创 01计算机C语言
C语言******************************************************************************************************************判断大小端:1、联合体判断:利用union结构体从低地址开始存,且同一时间只有一个成员变量占有内存。2、使用指针:将int类型强制转换成charfread 指针位置从给定输入流stream读取最多count个对象到数组buffer中(相当于对每个对象调用size次fget
2022-09-18 17:33:04 522 1
原创 Linux-内存分页
linux页表映射机制的建立分为两个阶段,第一个阶段是内核进入保护模式之前要先建立一个临时内核页表并开启分页功能,因为在进入保护模式后,内核继续初始化直到建立完整的内存映射机制之前,仍然需要用到页表来映射相应的内存地址。对于64位环境,虚拟地址空间达到 256TB,使用二级页表占用的存储空间依然不小,所以会更加细化,从而使用三级页表甚至多级页表,这样就会有多个页目录,虚拟地址也会被分割成多个部分,思路和上面是一样的,不再赘述。页表是一种特殊的数据结构,放在系统空间的页表区,存放逻辑页与物理页帧的对应关系。
2022-09-18 17:30:56 280
原创 “存储地址”和“运行地址”:
裸机例程都是烧写到SD卡中,上电以后 I.MX6U 的内部 boot rom 程序会将可执行文件拷贝到链接地址处,这个链接地址可以在 I.MX6U 的内部 128KB RAM 中(0X900000~0X91FFFF),也可以在外部的 DDR 中,起始地址都为 0X8000 0000。而对于CPU来说,0x00地址只能有1个,所以外接器件挂到CPU上时只能做地址映射,如RAM的地址为0x3000 0000, ROM地址为0x4000 0000, 这样CPU就做了统一编址。链接地址也是0X0800 0000。
2022-09-06 22:04:13 1192
原创 链接笔记1
I.MX6U-ALPHA开发板的DDR容量有两种:512MB和256MB,起始地址都为 0X80000000,只不过512MB的终止地址为0X9FFFFFFF,而256MB容量的终止地址为0X8FFFFFFF。当运行GNU链接器gld(ld)时若使用了"-M"选项,或者使用nm命令,则会在标准输出设备(通常是屏幕)上打印出链接映像(link map)信息,即是指由链接程序产生的目标程序内存地址映像信息。将所有.o链接在一起,并链接到指定地址,本实验链接时指定链接起始地址,即代码运行的起始地址。
2022-09-04 21:28:44 367
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人