- 博客(51)
- 资源 (37)
- 收藏
- 关注
原创 soc(七) DMA
51单片机与DMA51单片机是没有DMA的,不仅仅你说的这个型号,抄所有的51单片机都没有,当然增强型的C8051除外。要想是普通51单片机具有DMA功能,知可以用8237来扩展,8237是一款比较老的道DMA扩展芯片了,典型电路很多,可以直接从网上找到。http://www.elecfans.com/emb/danpianji/20171206595614_a.htmlhttp://...
2020-04-29 16:59:56 1886
原创 soc(五) 存储
flash和ram之前讲过了 https://blog.csdn.net/u011011827/article/details/105376772
2020-04-28 22:14:22 382
原创 soc(四) cortex核心
cortex-m痞子衡嵌入式:ARM Cortex-M内核MCU开发那些事 - 索引 - 痞子衡 - 博客园.mhtml痞子衡嵌入式:ARM Cortex-M内核那些事(1)- 内核架构编年史 - 痞子衡 - 博客园.mhtml痞子衡嵌入式:ARM Cortex-M内核那些事(2)- 第一款微控制器 - 痞子衡 - 博客园.mhtml痞子衡嵌入式:ARM Cortex-M内核那些事(3...
2020-04-28 22:12:01 400
原创 soc(三) 电源管理
http://blog.sina.com.cn/s/blog_6cc38fa60101jdm7.htmlhttps://zhuanlan.zhihu.com/p/128110109http://www.elecfans.com/article/83/116/2012/20121224302981_2.html降低功耗 芯片本省的能耗 低压运行 降低运行时的时钟频率(在CPU空闲时...
2020-04-28 22:02:40 1480
原创 soc(二) 时钟
https://www.cnblogs.com/PengfeiSong/p/6348093.htmlhttps://blog.csdn.net/weixin_38440112/article/details/70543982https://blog.csdn.net/beeka/article/details/50240565http://www.360doc.com/content/16/...
2020-04-28 21:40:09 883
原创 soc(一) soc核心组件
stm32f407 cortex-m4核心 core nvic debug etm jtag ahb总线 mpu dma ram flash 内存控制器 usb lcd camera mac 电源管理s3c2440 arm9核心 mmu cache writebuffer amba总线 内存控制器 flash控...
2020-04-28 20:40:38 2474
原创 嵌入式linux开发 (三十五) 内存管理3.0(1) linux内存管理之用户空间
这个概念有点大,先从用户程序的段开始看吧// 需要知道 用户程序中的 (.code .rodata .data .bss .stack .heap) 在哪里// 需要知道 用户程序中访问的地址是虚拟地址还是物理地址./aarch64/aarch64_addrp_stack1:0x0000007feef5a760p_stack2:0x0000007feef5a75cp_heap1 ...
2020-04-26 13:54:34 442
原创 嵌入式linux开发 (三十三) 内存管理2.0(4) rt-thread内存管理
//static char thread1_stack[1024];struct rt_thread thread1;rtthread_startup rt_application_init rt_system_scheduler_start rt_thread_init(&thread1, "led1", ...
2020-04-24 11:17:08 214
原创 嵌入式linux开发 (三十二) 内存管理2.0(3) ucos2内存管理 ucos3内存管理
和 freertos有些区别ucos2整体来说,布局的话flash .code .ro-data // 应用程序的和系统的混在一起了ram .data .bss .heap TCB(应用程序) // 应用程序的和系统的混在一起了 // 注意: TCB在.data里面 // OS_EXT OS_TCB OSTCBTbl[OS_MAX_TASKS ...
2020-04-23 21:48:49 210
原创 嵌入式linux开发 (三十一) 内存管理2.0(2) freertos内存管理
本次采用的os是freertos,基于stm32f407zgt6移植过程及代码代码分析内存分段初始化部分startup_stm32f407xx.s Reset_Handler 初始化栈 // .stack段 // .code 段没做动作 // .bss 段没做动作 从flash 上 加载data 段入sram 清bss段 SystemInit __...
2020-04-23 15:25:26 306
原创 stm32-develop-in-makefile
windows makefile keillcc stm32f407zgt6工程参考方案在output->Create Batch File,编译后在工程目录下找到了led.BAT文件根据led.BAT 文件写Makefilewindows makefile arm-gcc stm32f407zgt6TODOlinux makefile arm-gcc stm32f4...
2020-04-23 11:22:17 330
原创 RTOS 在 stm32f407 探索者上的移植(五) ucos3 移植
ucos3STM32_F4_explorer\探索者F4 资料盘(A盘)\6,软件资料\2,UCOS学习资料\UCOSIII资料STM32_F4_explorer\探索者F4 资料盘(A盘)\4,程序源码\3,扩展例程\4,UCOS扩展例程\例4-1 UCOSIII移植...
2020-04-23 00:06:14 296
原创 RTOS 在 stm32f407 探索者上的移植(四) ucos2 移植
ucos2// 正点原子官网 smt32 探索者配套资料中有资料STM32_F4_explorer\探索者F4 资料盘(A盘)\6,软件资料\2,UCOS学习资料\UCOSII资料STM32_F4_explorer\探索者F4 资料盘(A盘)\4,程序源码\3,扩展例程\4,UCOS扩展例程\例1-1 UCOSII移植ucos3STM32_F4_explorer\探索者F4 资...
2020-04-23 00:00:39 276
原创 嵌入式linux开发 (三十) flash管理2.0(1) flash管理总述
硬件讲了 nor nand sd emmc驱动讲了 以块的方式 读写nor 读写nand 读写sd 读写emmc现在要讲 以文件的方式 读写nor 读写nand 读写sd 读写emmc对flash管理的日益增长的需求及解决方案以块读写直接用flash的驱动去读写一个块写的时候,需要知道 我们将数据写到哪一个块,还有多少块可以写.读的时候,需要知道 我们的数据 在哪一个块,总...
2020-04-22 21:25:25 222
原创 嵌入式linux开发 (二十九) 内存管理2.0(1) 内存管理总述
硬件讲了 sram sdram ddr3驱动讲了 控制器初始化 读写内存内存管理2.0主要讲软件对内存的管理(分块及保护及管理)关于内存管理2.0,其实也讲了一部分,对内存的分段应该就属于内存2.0的 // .code .ro-data .data .bss .stack .heap现在要讲 内存保护(MPU MMU) buddy slab 加载文件到内存刚加载到内存,还没...
2020-04-22 21:15:28 221
原创 嵌入式linux开发 (二十八) 存储管理(2) 内存管理和flash管理
存在于soc芯片内,应该是类ram接口,用户存储boot代码.不需要驱动不需要文件系统管理
2020-04-21 21:53:17 229
原创 嵌入式linux开发 (二十七) 存储管理(1)从flash到内存
为什么要做内存分段有哪些段,在哪里体现There are 11 section headers, starting at offset 0x208:Section Headers: [Nr] Name Type Address Off Size ES Flg Lk Inf Al [ 0] ...
2020-04-21 21:46:47 730
原创 嵌入式linux开发 (二十六) Flash管理(1) 芯片对Flash的管理
总述根据加载方式,加载源有几种 1.映射 // 硬件主动搬运 也可算在其中 stm32的主flash // 完全映射 s3c2440的nand // 4KB搬运 2.bootrom 加载 进 sram dram exynos4412 的 sd卡 搬运到sram // 256KB搬运 i.mx6ull 的 sd卡 搬运到 dram // 几乎不限制大小(打下根据sd卡...
2020-04-20 15:04:58 537
原创 嵌入式linux开发 (二十五) 内存管理(7) 其他芯片在硬件上对内存的管理
讨论的是芯片硬件对内存的管理,包括芯片中固化的代码N32905U1DN总介 ARM926EJ-S 32-bit RISC CPU with 8KB I-Cache & 8KB D-Cache Frequency up to 200MHz@1.8V core power operation voltage JTAG interface supported for develo...
2020-04-20 13:57:05 349
原创 嵌入式linux开发 (二十四) 内存管理(6) 芯片及芯片启动后对内存的简单管理总结
之前分析了三个芯片,不同的微架构,不同的生产厂家,对内存管理做的努力芯片stm32f407zgt6s3c2440i.mx6ull架构ARMv7ARMv5tARMv7微架构cortex-M4ARM920Tcortex-A7厂家意法半导体三星飞思卡尔(被NXP收购)相同部分- 都有boot配置,可以配置从不同方式启动- 都有flas...
2020-04-19 20:33:32 501
原创 嵌入式linux开发 (二十三) 内存管理(5) s3c2440内存管理
之前想着s3c2440内存管理应该和imx6ull 是一样的,目前看起来是不一样JZ2440 S3C2440 ARM920T ARMv5t -内置 Steppingstone (4K-Byte SRAM) 无rom -外扩 EM63A165TS-6G:32MB/片,SDRAM,共两片 MX29LV160DBTI:2MB,并口 NOR FLASH ...
2020-04-19 19:59:44 336
原创 嵌入式linux开发 (二十二) 内存管理(4) I.MX6ULL内存管理
正点原子ARMLinux开发板 I.MX6ULL cortex-A7 ARMv7 -内置 sram:128KB srom:96KB,用户不可编程 -外扩 NT5CC256M16EP-EK:512MB,DDR3L KLM8G1GET:8GB,EMMC硬件对内存的管理总述系统架构1 sram2 DDR3L软件对内存的管理...
2020-04-19 18:32:29 1404
原创 嵌入式linux开发 (二十) 内存管理(3.2) STM32F407ZGT6内存管理之从链接到执行的过程(MPU-Without)
链接链接做了什么1.3 What the linker does when constructing an executable imagearmlink performs many operations, depending on the content of the input files and the command-line options you specify.When...
2020-04-17 11:15:05 294
原创 嵌入式linux开发 (二十一) 内存管理(3.3) STM32F407ZGT6内存管理之启动篇(MPU-Without)
启动第四阶段 __rt_entryIf you do not want the library to perform these actions, you can define your own __main that branches to __rt_entry . Use the -e armclang option or --entry armlink option to spe...
2020-04-16 11:15:04 367
原创 嵌入式linux开发 (二十) 内存管理(3.1) STM32F407ZGT6内存管理之启动篇(MPU-Without)
启动第一阶段 BOOT引脚 存储映射 异常向量表烧写 当 LED bin文件 被烧入 主flash(1MB,0x0800 0000 - 0x080F FFFF)配置 配置BOOT0 为 0 ,BOOT1 随意启动 1.上电 2.由于 BOOT0 为0,所以 0x0800 0000 - 0x080F FFFF被映射到 0x0000 0000 - 0x03FFFFFF //...
2020-04-15 12:36:32 431
原创 嵌入式linux开发 (十九) 内存管理(3) STM32F407ZGT6内存管理(MPU-Without)
硬件正点原子探索者开发板 STM32407ZET6 cortex-M4 ARMv7 -内置 SRAM:196KB Up to 192+4 Kbytes of SRAM including 64 Kbyte of CCM (core coupled memory) data RAM SROM(用户可编程):1M Up to 1 Mbyte of Flash me...
2020-04-13 15:48:46 2978
原创 嵌入式linux开发 (十八) 内存管理(2) ARM内存管理
硬件对内存的管理armv7v8ARM是统一编址的,也就是外设和(内存A)进行统一的编址,共同形成了4G物理地址空间(32位为例子)。内存控制器属于外设,内存属于(内存A).一个soc内部及外扩的内存都属于(内存A).cortex-M cortex-A具体芯片定义了内部内存的大小定义了内存控制器的IP内存控制器ARM对(内存A)的管理统一编址,其实是通过内...
2020-04-13 13:04:09 457
原创 嵌入式linux开发 (十七) 内存管理(1) 51内存管理
指令集架构和存储器架构指令集架构 51芯片是指集成51内核(51架构,免费的)的芯片 51内核 == 51指令集 == 51架构 独立编址存储器架构 冯诺依曼结构(在内存里,程序指令储存和数据储存不分开的存储器结构)内存分类及硬件对内存的管理片上内存内部RAM的低128位(00-7F) // 其中分 1. 寄存器,地址从0000H到001FH,共32字节 . 2. 可...
2020-04-13 12:47:57 309
原创 嵌入式linux开发 (十六) BOOT(1) I.MX6ULL BOOT
串行下载内部boot模式 内部bootrom运行(figure8-3有bootrom的存储分布图) 初始化时钟 使能MMU和cache 从指定的启动设备读取bin文件的头到sram. 根据头初始化ddr 然后根据头(位置(链接起始地址),大小) 拷贝bin文件中的用户代码到sdram指定地址,开始运行用户代码 bin文件的头有什么内容 1.image vector ...
2020-04-13 10:14:52 197
原创 嵌入式linux开发 (十五) FLASH(5) I.MX6ULL外扩SD卡
- 正点原子ARMLinux开发板 I.MX6ULL cortex-A7 -外扩 micro sd卡:16GB,无型号
2020-04-11 12:29:02 438
原创 嵌入式linux开发 (十四) FLASH(4) I.MX6ULL外扩EMMC
- 正点原子ARMLinux开发板 I.MX6ULL cortex-A7 -外扩 KLM8G1GET:8GB,EMMC
2020-04-11 12:20:56 508
原创 嵌入式linux开发 (十三) FLASH(3) s3c2440外扩NAND FLASH
- JZ2440 S3C2440 ARM920T -外扩 MX29LV160DBTI:2MB,并口 NOR FLASH K9F2G08U0C: 256MB,NAND FLASH
2020-04-10 21:34:31 224
原创 嵌入式linux开发 (十二) FLASH(2) stm32外扩SPINorFlash
- 正点原子探索者开发板 STM32407ZET6 cortex-M4 -外扩 W25Q128:16M,NorFlash,SPI接口soc■ Core: ARM 32-bit Cortex™-M4 CPU with FPU,Adaptive real-time accelerator (ARTAccelerator™) allowing 0-wait state executi...
2020-04-10 18:03:30 1129
原创 嵌入式linux开发 (十一) FLASH(1) stm32外扩EEPROM
- 正点原子探索者开发板 STM32407ZET6 cortex-M4 -外扩 24C02:256B,EEPROM,I2C接口 W25Q128:16M,NorFlash,SPI接口soc■ Core: ARM 32-bit Cortex™-M4 CPU with FPU,Adaptive real-time accelerator (ARTAccelerator™) all...
2020-04-10 17:12:17 829
原创 嵌入式linux开发 (十) RAM(4) I.MX6ULL外扩DDR3L
- 正点原子ARMLinux开发板 I.MX6ULL cortex-A7 -外扩 NT5CC256M16EP-EK:512MB,DDR3LsocThe i.MX 6ULL application processors are NXP's latest additions to a growing family of real-time processing products off...
2020-04-10 15:00:06 992
原创 嵌入式linux开发 (九) RAM(3) s3c2440外扩sdram
- JZ2440 S3C2440 ARM920T -外扩 EM63A165TS-6G:32MB/片,SDRAM,共两片
2020-04-10 12:36:43 428
原创 嵌入式linux开发 (八) RAM(2) stm32外扩SRAM
- 正点原子探索者开发板 STM32F407ZET6 cortex-M4 -外扩 IS62WV51216:1MB,SRAM,FSMC接口 // 为什么不扩展SDRAM,STM32F407 FSMC接口支持SRAM,NAND,NOR,PSRAM. 不支持SDRAM.STM32的高端产品429/439添加了新的外设,SDRAM控制器(FMC总线)soc■ Core: ARM 32-...
2020-04-09 22:56:43 1001
原创 buildroot (四) autoconf option
autoconf包编译过程中的Configuring过程package/pkg-autotools.mkifndef $(2)_CONFIGURE_CMDSifeq ($(4),target)# Configure package for targetdefine $(2)_CONFIGURE_CMDS (cd $$($$(PKG)_SRCDIR) && rm...
2020-04-08 13:39:30 614
freetype2+SDL+SDL_ttf源码包及字符串转bmp图片demo
2017-03-07
linux-5.17 arm32 arm64 rv64 arch 下的 共同函数
2022-06-16
grub-build.log
2020-11-22
sdio_data_AllInOne.rar
2019-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人