ARM
叶玄青
我是谁
展开
-
Topic On ARM Core
1. IntroductionThis essay talks something about ARM core, including Cache, Memory Management Unit, Neon. When facing any problem, please refer to the ARM program mannual. The cortex-a series program ma原创 2016-03-11 09:43:08 · 1262 阅读 · 0 评论 -
cache行为模型
贴一段自己写的cache行为仿真代码, 针对ARM Cortex A5核,未经过严格验证/* * This is a simulation program * for the ARM Cortex-A5 L1 DCache * * Cache Structure Description: * 4-way set L1 data cache, total size = 32KB, with原创 2016-09-23 10:37:47 · 1850 阅读 · 3 评论 -
交叉编译器,ARM EABI编译器区别
首先记录一个下载arm-none-linux-gnueabi-gcc编译器的网址http://www.veryarm.com/arm-none-linux-gnueabi-gcc一. 命名规则交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]arch - 体系架构,如ARM,MIPS vendor - 工具链提供商 os - 目标操作系统 eabi转载 2016-11-01 10:15:45 · 2733 阅读 · 0 评论 -
Linux内核移植 part2:printascii详解
uboot下的printascii函数可以用来在串口打印信息,实现代码调试。这个函数实际上就是通过配置硬件相关的参数,通过uart完成打印。 代码位于arch/arm/lib/debug.S #if !defined(CONFIG_DEBUG_SEMIHOSTING) #include CONFIG_DEBUG_LL_INCLUDE //debug/8250.S #endif原创 2016-12-13 10:43:59 · 1433 阅读 · 0 评论 -
Linux内核移植 part1:arm gcc 编译与链接参数
虽然当前android啥的是主流,但是在进行裸机开发的时候,熟悉编译器这些参数就很重要了。下面以uboot的编译和链接过程为实例介绍arm gcc相关的参数。具体内容可以参考官方文档: https://gcc.gnu.org/onlinedocs/ pdf版本下载:https://gcc.gnu.org/onlinedocs/gcc-4.8.5/gcc.pdf编译参数arm-none-linux-原创 2017-01-04 21:11:43 · 2879 阅读 · 0 评论 -
Linux内核移植 part1:全面介绍ARM Linux启动流程
本文介绍arm核cpu裸机启动过程。在cpu reset之后,pc会指向reset vector (地址位于0x00000000 or 0xFFFF0000),此时的代码需要做以下几件事情: 在多核系统中,让非主要核睡眠。 初始化异常向量 初始化memory,包括MMU 初始化不同模式下的栈以及寄存器 初始化关键I/O设备 针对NEON或VFP做些必要的初始化 使能中断 改变核心模式或者状态 如果需原创 2016-11-01 11:40:48 · 8756 阅读 · 0 评论 -
Linux内核移植 part1:Exynos4412 sd卡启动uboot
Exynos4412 uboot烧写本文介绍裸机环境下如何编译烧写exynos 4412开发板的uboot1. uboot源代码下载讯为提供的源码压缩包,文件名为iTop4412_uboot_scp_20141224.tar.gz,解压后得到iTop4412_uboot_scp文件夹即可。2. CodeSign4SecureBoot下载samsung官方提供的CodeSign4SecureBoot压原创 2016-11-08 17:48:29 · 13574 阅读 · 0 评论 -
访问PCIe BAR空间
对BAR空间以及配置空间的访问做一个系统的总结,其实就是在回答以下几个问题: 1. PCIe中四种tlp和BAR空间的关系是怎样的? 2. tlp是怎么发起的? 3. tlp是怎么到相应的下游设备的?原创 2017-06-20 23:31:54 · 17784 阅读 · 0 评论