目录

  • 一、芯片的基础知识说起
    • 为啥一般的芯片的开始地址是0x80000000,那是因为芯片制造商的想法。
  • 一、地址空间
    • (1)i.MX6ULL系列芯片
      • i.MX6ULL 应用处理器内存地址映射表
  • 二、正点原子Linux开发板

一、芯片的基础知识说起

 MCU、MPU、CPU这些主控芯片,有8位、16位和32位、64位,

为啥一般的芯片的开始地址是0x80000000,那是因为芯片制造商的想法。

一、地址空间

一个颗32位架构的芯片它的寻址空间为:0 ~ 0xFFFFFFFF

大小 字节 尺寸 地址范围
2^32(4294967296) 4GB 0x1 0000 0000 0 ~ 0xFFFFFFFF

(1)i.MX6ULL系列芯片

i.MX6ULL 应用处理器内存地址映射表

来源:《IMX6ULL参考手册》
ARM Platform Memory Map

Start address End address Size Description
8000_0000 FFFF_FFFF 2048 MB MMDC—x16 DDR Controller.
7000_0000 7FFF_FFFF 256 MB Reserved
6000_0000 6FFF_FFFF 256 MB QSPI1 Memory
5800_0000 5FFF_FFFF 128 MB EIM Aliased
5000_0000 57FF_FFFF 128 MB EIM (NOR/SRAM)
1000_0000 4FFF_FFFF 1024 MB Reserved
0E00_0000 0FFF_FFFF 32 MB Reserved
0C00_0000 0DFF_FFFF 32 MB QSPI1 Rx Buffer
0900_0000 0BFF_FFFF 48 MB Reserved
0800_0000 08FF_FFFF 16 MB Reserved
02C0_0000 07FF_FFFF 84 MB Reserved
0230_0000 02BF_FFFF 9 MB Reserved
0220_0000 022F_FFFF 1 MB Table 2-4 AIPS-3. See IP listing on the separate map.
0210_0000 021F_FFFF 1 MB Table 2-3 AIPS-2. See the IP listing on the separate map.
0200_0000 020F_FFFF 1 MB Table 2-2 AIPS-1. See the IP listing on the separate map.
0181_0000 01FF_FFFF 8128 KB Reserved
0180_C000 0180_FFFF 16 KB Reserved
0180_8000 0180_BFFF 16 KB BCH
0180_6000 0180_7FFF 8 KB GPMI
0180_4000 0180_5FFF 32 KB APBH DMA
0180_0000 0180_3FFF 16 KB Reserved
0120_0000 017F_FFFF 6 MB Reserved
0110_0000 011F_FFFF 1 MB Reserved
0100_0000 010F_FFFF 1 MB Reserved
00F0_0000 00FF_FFFF 1 MB Reserved
00E0_0000 00EF_FFFF 1 MB (per_m) configuration port
00D0_0000 00DF_FFFF 1 MB (cpu) configuration port
00C0_0000 00CF_FFFF 1 MB GPV_1 PL301
00B0_0000 00BF_FFFF 1 MB GPV_0 PL301 configuration port
00A0_8000 00AF_FFFF 992 KB Reserved
00A0_0000 00A0_7FFF 32 KB ARM Peripherals: GIC400 Only visible to ARM core(s)
009C_0000 009F_FFFF 256 KB Reserved
0098_0000 009B_FFFF 256 KB Reserved
0092_0000 0097_FFFF 384 KB OCRAM aliased
0090_0000 0091_FFFF 128 KB OCRAM 128 KB
008F_8000 008F_FFFF 32 KB Reserved
007F_8000 008F_7FFF 1 MB Reserved
0010_0000 0010_7FFF 32 KB Reserved
0001_8000 000F_FFFF 928 KB Reserved
0001_7000 0001_7FFF 4 KB Boot ROM—Protected 4 KB area
0000_0000 0001_6FFF 92 KB Boot ROM (ROMCP)

 从上表可以看出,在整个4GB的地址空间内,前2GB的地址空间有其他用处,后2GB的地址空间分配给了内存控制器,所以在操作内存地址的时候都是从0x80000000地址开始的,这其实就限制了该类型(32位架构)的芯片最大支持内存为4GB,而i.MX6ULL芯片所支持的最大的内存为2GB。

二、正点原子Linux开发板

  • 512MB DDR3L
  • 8GB EMMC
大小 字节 尺寸 地址范围
536870912 512MB 0x2000 0000 0 ~ 0x1FFF FFFF

对应i.MX6ULL地址映射空间:

字节 尺寸 地址范围 对应
512MB 0x2000 0000 0 ~ 0x1FFF FFFF 0x8000 0000 ~ 0xA000 0000

我在这里的操作:
嵌入式Linux–U-Boot(九)通过TFT/NFS网络更新U-Boot、Kernel、DTB文件
可以看到:

=> tftp 80800000 zImage
Using FEC1 device
TFTP from server 192.168.0.120; our IP address is 192.168.0.121
Filename 'zImage'.
Load address: 0x80800000
Loading: ###############################################################################################################################################################################################################################################################################################################################################################################################################################################################################2.4 MiB/s
done
Bytes transferred = 6786368 (678d40 hex)
=> tftp 83000000 imx6ull_liefyuan_emmc.dtb
Using FEC1 device
TFTP from server 192.168.0.120; our IP address is 192.168.0.121
Filename 'imx6ull_liefyuan_emmc.dtb'.
Load address: 0x83000000
Loading: ###2.1 MiB/s
done
Bytes transferred = 38823 (97a7 hex)

 从上面可以看到:

  • 地址0x80800000是从8MB的地方开始的一个内存区域,那前面8MB区域放了些啥玩意?
  • 地址0x83000000是从48MB的地方开始的一个内存区域

  • 地址一:0x83000000
  • 地址二:0x80800000

嵌入式Linux--地址的总结--0x80000000起相关推荐

  1. linux 怎么查看usb设备端口号,嵌入式Linux USB设备检测端口和地址

    我发展我的板USB应用.它有两个USB端口.当我插上USB驱动器在他们每个人我得到控制台以下消息:嵌入式Linux USB设备检测端口和地址 端口1: usb 1-1: new high speed ...

  2. 深度实践嵌入式linux系统移植 光盘下载地址

    深度实践嵌入式Linux系统移植这本书,翻了翻,感觉挺好,但要获得这本书的配套光盘文件真不容易, 书的序言部分给了一个支持站点 ,但是打不开.另外一种方式就是在以在华章网站下载.但是华章网站需要注册才 ...

  3. 北京迅为i.mx6ull终结者开发板使用手册+嵌入式Linux开发指南+裸机手册下载地址

    i.MX6ULL终结者三大手册,加速学习和开发速度,一秒化无形! <嵌入式Linux开发指南>+<开发板使用手册>+<裸机使用手册> 详细手册点击链接下载:http ...

  4. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之设备树模型

    文章目录 前言 1.设备树的作用 2.设备树的语法 2.1.设备树的逻辑图和dts文件.dtb文件 2.1.1.1Devicetree格式 1DTS文件的格式 node的格式 properties的格 ...

  5. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之总线设备驱动模型

    文章目录 前言 1.驱动编写的三种方法 1.1.传统写法 1.2.总线驱动模型 1.3.设备树驱动模型 2.Linux实现分离:Bus/Dev/Drv模型 2.1.Bus/Dev/Drv模型 2.2. ...

  6. 【正点原子MP157连载】第二十三章 Linux设备树-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  7. 【linux】嵌入式linux的组成

    嵌入式Linux的组成: 在硬件上,主要由cpu.emmc(或nand.sd,都属于Flash).SDRAM.NFS(网络文件系统)四部分组成,flash是Linux的存储器,类似于Windows的硬 ...

  8. 嵌入式linux学习笔记--TCP通讯整理

    嵌入式linux学习笔记–TCP通讯整理 之前的项目中使用到了比较多的tcp 通讯相关的知识,一直也没有进行整理,今天准备拿出时间好好的整理一下TCP通讯的整个过程.预计会整理linux和window ...

  9. 【正点原子Linux连载】第三十二章 U-Boot启动流程详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  10. 嵌入式Linux系统开发笔记(七)

    嵌入式Linux系统开发笔记(七) 七.U-Boot基础 1.概述 在移植 Linux之前我们需要先移植一个 bootloader 代码,这个 bootloader 代码用于启动 Linux 内核, ...

最新文章

  1. 如何编写一个测试HIDL接口的vts(gtest)的testcase
  2. python 混淆矩阵_绘制混沌矩阵
  3. 求一个特定函数在定义区间上的值是否都为素数
  4. 区块链学习笔记(二)
  5. 三维平面叠加图_无人机倾斜摄影技术在三维实景GIS的应用
  6. 科密t1消费管理系统_科密A1\T1登录密码获取软件-科密A1\T1登录密码获取工具1.0.0 安卓版-东坡下载...
  7. android 按钮救星,按键救星下载-按键救星专业版(Button Savior Pro) 安卓版v2.1.1-PC6安卓网...
  8. 高数 | 【微分方程】技巧性例题 及 李林880详解
  9. STM32G0系列的启动配置与程序下载说明
  10. 春节不出门!这三款超好评编程游戏,好玩到停不下来
  11. 爬虫2021广东省普通专升本各院校专业招生计划汇总表
  12. C++OpenCV实现抠除(也可用于更换)证件照背景
  13. Discuz!教程之当插件、门户或自定义页面设置成首页时手机版访问跳转到forum.php?mobile=yes的问题
  14. VR-DANN: 联合视频解码与AI处理
  15. 不懂就问,机器人做核酸是一种什么体验?|一周AI新闻
  16. SWAT模型 | 运行Arcswat报错问题及解决办法 | forrt1:error(65): floating invalid解决方法
  17. EasyExcel导入导出下载模板(带下拉)
  18. vs2012运行项目报未能加载文件或程序集“System.Web.Mvc, Version=4.0.0.1,Culture=neutral”问题和解决方法...
  19. ns-3构建简单点对点网络
  20. Nginx---入门到放弃系列01

热门文章

  1. 微信小程序 实现蚂蚁森林效果
  2. 跨主机网络-UDP解析
  3. go mod报错at revision v0.0.6: unknown revision v0.0.6
  4. C语言 | 指针和const
  5. java中实现多态的机制是什么_java多态机制是什么
  6. windows下配置host
  7. leetcode 829.连续整数求和
  8. 周记-20201106
  9. mybatis和mybatisPlus中解决实体类字段与数据库关键字冲突问题
  10. macos git: 'credential-wincred' is not a git command. See 'git --help'