嵌入式开发手记(一)嵌入式系统启动过程 (S5pv210) 原

S5pv210启动详解 soc详解。 1.cortex A8: arm(cpu) 2.BL1,BL2:为bootloder1,bootloder 2.1 (1)CPU上电后先从内部IROM(类似SRAM)中读取预先设置的代码(BL0),执行。这一段IROM代码首先做了一些基本的初始化(CPU时钟、关看门狗···)(这一段IROM代码是三星出厂前设置的,三星也不知道我们板子上将来接的是什么样的DRAM,因此这一段IROM是不能负责初始化外接的DRAM…

嵌入式开发笔记(二)嵌入式系统启动过程 (S5pv210) 原

官方文档 1.S5PV210支持多种启动方式(IROM),MoviNAND/iNand, MMC/SD Card ,pure Nand, eMMC, eSSD, UART and USB boot with iROM is supported. 硬件特性: (1)内核cortex A8 (2)64K的ROM(IROM) (3)96K的SRAM (4)通用性的SDRAM控制器 (5)4/8bit高速SD/MMC控制器,4bit SD / 4 bit MMC / 4 or 8 bit eMMC (6)NandFlash控制器 (7)OneFlash 控制器 (8…

ARM指令BBLBLXBX区别

B: 跳转。 B label 满足条件立即跳转到Lable指定的地址执行 BL: 带链接的跳转。 首先将当前指令的下一条指令地址保存在LR寄存器,然后跳转的lable。通常用于调用子程序,可通过在子程序的尾部添加mov pc, lr 返回。 BX: 带状态切换的跳转。最低位为1时,切换到Thumb指令执行,为0时,解释为ARM指令执行。 BLX: 带链接和状态切换的跳转。结合了BX与BL功能, 操作: BL 和 BLX …

ARMNEON指令

在初学NDK时,接触到 HelloNeon例程,了解到 Neon是ARMv7-AR 系列中引入的并行模块,可以让你同时操作8个16位数据或4个32位数据,在信号处理,图像处理,视频编解码优化方面有很高的应用价值。在本文中罗列一些信息,供以后参考。 NEON 汇编指令一览 http://infocenter.arm.com/help/basic/help.jsp?topic=/com.arm.doc.dui0204ic/CJAJIIGG.html ARM 体系结构参考手册 ARMv7-…

tinkerboard卡片电脑主板

Tinker board开发板是由国际知名IT厂商华硕ASUS出品的精品开源硬件项目,兼容了树莓派的生太链,可以运行树莓派的系统,同时,华硕还专门支持了很多第三方的知名系统,同时华硕基于debian高度定制了一款tinker OS,专为这个板子打造,好用又简单 中文网站:http://tinkerboard.cn 温馨提示 : @tinkerboard开发板没有板载EMMC存储器,需要用TF卡才能跑起来,建议选用Class10高速T…

Exynos4412Android4.4平台WiFi功能移植第四篇

HAL层移植 HAL层移植相对简单,MT6620 采用的是Android的WiFi架构,没有经过修改,按照MTK的指导文档移植即可,这里需要注意的是wifi.c文件和init.connectivity.rc文件. 1.5.1 wifi.c文件 wifi.c文件的路径 iTop4412_KK4.4/hardware/libhardware_legacy/wifi.c 该文件会与wpa_supplicnat服务进行通信,是Android进行WIFi控制的HAL层的实现,根据logcat 输出信息判断WiFi 工作…

基于Androidarm64可执行程序编译运行

Android默认编译的应用程序动态链接的一般都是PIE,前文“基于Android arm64 Linux got 调试”,每次调试都要查看加载地址,于是就想能否编译生成非PIE的应用程序。 /opt/android-6.0.1_r9/external/hello$ mmm ./ showcommands 2>&;1 | tee build.log 查看build.log prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-g++ -pie…

AndroidAPK在32bit和64bit区别

目前64bit android系统也慢慢的多了,看到也有apk声称支持64bit system,然后就往里面打包搞了个arm64-v8a 目录,放了个64bit的so,但是apk代码里面却不按规范去load so ,导致一系列 file not found 异常。 apk lib目录: 先看下apk中的lib打包的目录: 依次代表不同类型的cpu PMS安装路径://blog.csdn.net/sergeycao pms install 流程比较繁杂,只关注so相关的scanPackageDir…

Android不同版本版本号

//Build.VERSION.SDK_INT 如果23的话Android 6.0. 22 Android 5.1 Lollipop 23 Android 6.0 Marshmallow(棉花糖) 24 Android 7.0 Nougat 牛轧糖 平台版本 API 级别 版本代码 备注 Android 5.0 21 LOLLIPOP 棒棒糖 Android 4.4W 20 KITKAT_WATCH KitKat for Wearables Only Android 4.4 19 KITKAT Android 4.3 18 JELLY_BEAN_MR2 Android 4.2, 4.2.2 17 JELLY_BEAN_MR1 …

ELF文件头分析(中)

ART世界探险(12) - OAT文件分析(2) - ELF文件头分析(中) 段(section)的概念 一块内存分配给应用程序之后,从代码的组织上,我们就有将它们分段的需求。 比如,可以分为代码段,数据段,只读数据段,堆栈段,未初始化的数据段等等。 在GAS汇编器中,我们通过.section伪指令来指定段名。ARM编译器我买不起,我就忽略它了。 标准section 段的描述 默认段名 代码段 .text 经过初始化…