arm

ARM:MPU & MMU & SMMU

岁酱吖の 提交于 2020-01-22 19:39:33
1、MPU (Memory Protection Unit); 2、MMU(Memory Management Unit)。 MMU是比MPU提供了功能更强大的内存保护机制,MPU只提供了内存区域保护,而MMU是在此基础上提供了虚拟地址映射技术,而且在操作上,MMU要比MPU负责。 3、SMMU本质上就是一个MMU设备,它的内存转换逻辑与CPU的MMU采用相同的逻辑,都允许将物理上非连续的页虚拟为连续的内存页。SMMU和IOMMU可以交替使用。 ---------------------------------------------------------------------------------------------------------------------------------------------- MPU 保护域(ProtectionRegions) ARM处理器中的MPU使用“域(regions)”来对内存单元进行管理。域是与存储空间相关联的属性,处理器核将这些数据保存在协处理器CP15的一些寄存器中。 通常域的个数为8个,编号为从0~7。 域的大小和起始地址保存在CP15的寄存器c6中。大小可以是4KB~4GB的任何2的乘幂。 域的起始地址必须是其大小的倍数。比如,一个定义为4KB的域其起始地址可以是0x12345000

创龙TMS320DM8168浮点DSP C674x + ARM Cortex-A8Micro SD接口、拓展IO信号

怎甘沉沦 提交于 2020-01-22 03:21:48
TL8168-EasyEVM是广州创龙基于SOM-TL8168核心板研发的一款TI ARM Cortex-A8 + DSP C674x双核开发板,采用核心板+底板方式,尺寸为240mm*124.5mm,核心板采用工业级B2B连接器,稳定、可靠、便捷,可以帮助客户快速评估核心板性能。 SOM-TL8168核心板采用高密度沉金无铅工艺10层板设计,尺寸为86mm*60mm,采用原装进口美国德州仪器ARM Cortex-A8 + DSP C674x——TMS320DM8168处理器,高性能视频处理能力。采用耐高温、体积小、精度高的B2B连接器,引出了核心板的全部接口资源,帮助开发者快速进行二次开发。 Micro SD 接口 CON7是Micro SD卡接口,主要用于SD卡启动和外接大容量数据存储,具体接口定义如下图所示: 拓展 IO 信号 J10、J11、CON12引出了GPIO、GPMC、SPI、I2C、McASP、UART拓展信号,其引脚定义如下: 来源: CSDN 作者: Tronlong_ 链接: https://blog.csdn.net/Tronlong_/article/details/104060691

Stray characters seen at output of snprintf

此生再无相见时 提交于 2020-01-22 02:15:53
问题 I have a string creating function in C which accepts an array of structs as it's argument and outputs a string based on a predefined format (like a list of list in python). Here's the function typedef struct { PacketInfo_t PacketInfo; char Gnss60[1900]; //and other stuff... } Track_json_t; typedef struct { double latitude; double longitude; } GPSPoint_t; typedef struct { UInt16 GPS_StatusCode; UInt32 fixtime; GPSPoint_t point; double altitude; unsigned char GPS_Satilite_Num; } GPS_periodic_t;

Missing syscalls in gem5 ARM

一笑奈何 提交于 2020-01-21 18:52:09
问题 I am having the following error in gem5. This happens in ARM only. With X86 I see some syscalls being ignored but none causing a fatal error. tomas@ubuntu:~/gem5$ ./build/ARM/gem5.opt configs/example/arm/starter_se.py ../tests_gem5/hello gem5 Simulator System. http://gem5.org gem5 is copyrighted software; use the --copyright option for details. gem5 compiled Jul 9 2018 17:09:01 gem5 started Jul 9 2018 18:07:37 gem5 executing on ubuntu, pid 5064 command line: ./build/ARM/gem5.opt configs

Output debug via printf on a Cortex-M3 CPU, stalls at BKPT instruction + confusion about JTAG and sw ports

∥☆過路亽.° 提交于 2020-01-21 05:16:30
问题 I have a Keil ULINK2 USB emulator box attached to the JTAG connector on my board, which is working fine with the Cortex-M3 CPU onboard (TI/Stellaris/LuminaryMicro LM3S series). It seems that both a JTAG and a SWJ-DP port share the same pins (and thus connector on your board) on these CPUs. One appears not to have ITM (printf) capability, the other does. The previous firmware people have always used stdio to UART (serial port), but I need the serial port freed up so that debug messages do not

Build Docker image for ARM architecture on Intel machine (Mac)

这一生的挚爱 提交于 2020-01-21 03:51:28
问题 I'd like to be able to build a Docker image for ARM from my Mac. I know I can run ARM containers on my Mac using QEMU but I can't figure out how to build for ARM. 回答1: This is a little convoluted right now. I am sure it will be made easier by docker in the near future. Basically you need to build a contained based on a container that has the qemu-arm-static binary in it already. You can see how it is done by looking at Raspberry Pi base image w/qemu-arm-static which builds the images directly

Build Docker image for ARM architecture on Intel machine (Mac)

泄露秘密 提交于 2020-01-21 03:51:24
问题 I'd like to be able to build a Docker image for ARM from my Mac. I know I can run ARM containers on my Mac using QEMU but I can't figure out how to build for ARM. 回答1: This is a little convoluted right now. I am sure it will be made easier by docker in the near future. Basically you need to build a contained based on a container that has the qemu-arm-static binary in it already. You can see how it is done by looking at Raspberry Pi base image w/qemu-arm-static which builds the images directly

ARM 汇编基础

你。 提交于 2020-01-19 18:47:10
转载连接: 1 ARM汇编以及汇编语言基础介绍 2 ARM汇编中的数据类型 3 ARM汇编常用指令集 4 ARM汇编内存访问相关指令 5 ARM汇编之连续存取 6 ARM汇编之条件执行与分支 7 ARM汇编之栈与函数 英文原文链接: https://azeria-labs.com/arm-data-types-and-registers-part-2/ 本文只是转载部分内容,具体请参考原文。 1. ARM汇编基础介绍 1.1 ARM VS. INTEL ARM处理器Intel处理器有很多不同,但是最主要的不同怕是指令集了。Intel属于复杂指令集(CISC)处理器,有很多特性丰富的访问内存的复杂指令集。因此它拥有更多指令代码以及取址都是,但是寄存器比ARM的要少。复杂指令集处理器主要被应用在PC机,工作站以及服务器上。 ARM属于简单指令集(RISC)处理器,所以与复杂指令集先比,只有简单的差不多100条指令集,但会有更多的寄存器。与Intel不同,ARM的指令集仅仅操作寄存器或者是用于从内存的加载/储存过程,这也就是说,简单的加载/存储指令即可访问到内存。这意味着在ARM中,要对特定地址中存储的的32位值加一的话,仅仅需要从内存中加载到寄存器,加一,再从寄存器储存到内存即可。 简单的指令集既有好处也有坏处。一个好处就是代码的执行变得更快了。

ARM compiler with autoconf

我的梦境 提交于 2020-01-19 06:10:03
问题 I am trying to compile some files for ARM architecture with autoconf. I am compiling them in Ubuntu 12.04 and the target system is a BeagleBoard XM. I run the following command: ./configure --host=arm-linux-gnueabi -prefix=${CSTOOL_DIR}/linux_arm_tool and get this result: configure: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used checking for a BSD-compatible install... /usr/bin/install -c checking whether

ARM compiler with autoconf

丶灬走出姿态 提交于 2020-01-19 06:07:45
问题 I am trying to compile some files for ARM architecture with autoconf. I am compiling them in Ubuntu 12.04 and the target system is a BeagleBoard XM. I run the following command: ./configure --host=arm-linux-gnueabi -prefix=${CSTOOL_DIR}/linux_arm_tool and get this result: configure: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used checking for a BSD-compatible install... /usr/bin/install -c checking whether