arm

ARM compiler with autoconf

时光毁灭记忆、已成空白 提交于 2020-01-19 06:07:24
问题 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

Why unsigned types are more efficient in arm cpu?

扶醉桌前 提交于 2020-01-19 03:38:06
问题 I'm reading an arm manual and come to this suggestion, but the reason is not mentioned. Why unsigned types are faster? 回答1: Prior to ARMv4, ARM had no native support for loading halfwords and signed bytes. To load a signed byte you had to LDRB then sign extend the value ( LSL it up then ASR it back down). This is painful so char is unsigned by default. In ARMv4 instructions were added to handle halfwords and signed values. These new instructions had to be squeezed into the available

ARM : APCS规则

邮差的信 提交于 2020-01-19 01:52:01
ATPCS (ARM-Thumb Procedure Call Standard) 规定了一些子程序间调用的基本规则,这些规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则,参数的传递规则。有了这些规则之后,单独编译的C语言程序就可以和汇编程序相互调用。 AAPCS (ARM Archtecture Procedure Call Standard) AAPCS是ATPCS的改进版。 APCS:ARM 过程调用标准(ARM Procedure Call Standard),提供了紧凑的编写例程的一种机制,定义的例程可以与其他例程交织在一起。最显著的一点是对这些例程来自哪里没有明确的限制。它们可以编译自 C、 Pascal、也可以是用汇编语言写成的。 APCS 定义了: 使用栈的惯例。 对寄存器使用的限制。 在函数调用之间传递/返回参数。 可被"回溯"的基于栈的结构的格式。 1、参数和返回值传递,对于简单的情况,输入参数由R0-R3分别用来记录第1到第4个参数。当传递的参数超过4个时,就需要借助栈来保存参数。函数的返回值通常保存在R0中, 若返回值为64位的,R1也用来保存返回值。 2、函数调用中的寄存器用法。 函数或子程序应该保持R4-R11、R13和R14的数值 。若这些寄存器在函数或子程序执行期间被修改,则其函数应该保持在栈中并在返回调用代码前恢复。这几个寄存器也被称作

创龙基于TI AM335x ARM Cortex-A8 CPU,主频高达1GHz开发板按键、串口

浪子不回头ぞ 提交于 2020-01-18 06:47:04
处理器 TI Sitara AM335x是一款高性能嵌入式32位工业级Cortex-A8处理器,主频可高达1GHz,运算能力可高达2000DMIPS,搭配DDR3,兼容eMMC和NAND FLASH,拥有多种工业接口资源,以下是AM335x CPU资源框图: 按键 5个按键包含1个复位按键KEY1,1个长按睡眠按键KEY2,1个唤醒按键KEY3,2个可编程输入按键(含1个非屏蔽中断按键)KEY4和KEY5。其硬件位置及原理图如下图所示: 串口 开发板上共引出了3个串口,分别为CON4、CON6、CON8,其中CON4为Micro USB调试串口(UART3)、CON6为RS232串口(UART0)、CON8为RS485串口(UART1)。其硬件位置及原理图如下图所示: 表 1 串口名称 开发板位置 串口说明 Micro USB CON4 通过CH340芯片转成Micro USB接口 RS232 CON6 通过SP3232EEY-L/TR串口电平转换芯片转成RS232串口,使用9针DB9接口 RS485 CON8 使用3位接线端子 来源: CSDN 作者: Tronlong_ 链接: https://blog.csdn.net/Tronlong_/article/details/103976319

ARM_Instruction_Set_Encoding_hacking(ARM指令集编码格式解读)

痴心易碎 提交于 2020-01-18 02:00:49
原地址:https://www.cnblogs.com/zengjfgit/p/4377243.html 作者:zengif 说明: 1、本文参考的书籍《ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition》中的Chapter A5: ARM Instruction Set Encoding. 2、本人对本文最终效果中的表格缩进没有对齐的现象表示歉意,因为目前本人解决不了 :) 3、本文的解读流程如下: 1、Format of the CPSR and SPSRs:因为CPSR中有影响指令执行的条件标志; 2、The major subdivisions of the ARM instruction set:这里细分ARM指令为7个种类; 3、The condition code field:对指令中的条件位域进行了解读; 4、Data-processing and miscellaneous instructions:针对the major subdivisions of the ARM instruction set中的7中ARM指令种类,对第一种“Data-processing and miscellaneous instructions”进行了解读; 5、Data-processing (register

【资料下载区】【iCore4相关代码、资料下载地址】更新日期2018/02/24

冷暖自知 提交于 2020-01-17 13:21:50
【iCore4相关文档】【更新中...】 iCore4原理图(PDF)下载 iCore4引脚注释(PDF)下载 iCore4机械尺寸(PDF)下载 【iCore4相关例程代码】【ARM】 DEMO测试程序V1.0 4.3寸液晶模块发布 例程一:ARM驱动三色LED 例程二:读取ARM按键状态 例程三:EXTI中断实验——读取ARM按键状态 例程四:USART实验——通过命令控制LED状态 例程五:SYSTICK定时器实验——定时点亮LED 例程六:IWDG看门狗实验——复位ARM 例程七:WWDG看门狗实验——复位ARM 例程八:定时器PWM实验——呼吸灯 例程九:ADC实验——电源监控 例程 例程十:RTC实时时钟实验——显示时间和日期 例程十一:DMA实验——存储器到存储器传输 例程十二:通用定时器实验——定时点亮LED 例程十三:SDIO实验——读取SD卡信息 例程十四:FATFS实验——文件操作 例程十五:USB_CDC实验——高速数据传输 例程十六:USB_HID实验——双向数据传输 例程十七:USB_MSC实验——读/写U盘(大容量存储器) 例程十八:USB_VCP实验——虚拟串口 例程 例程十九:USBD_MSC实验——虚拟U盘 例程二十:LWIP_TCP_CLIENT实验——以太网数据传输 例程二十一:LWIP_TCP_SERVER实验——以太网数据传输 例程二十二

IMX53 initialize stacks

南笙酒味 提交于 2020-01-17 07:24:18
问题 I am booting Android on an IMX53 Sabre tablet. I am trying to initialize stacks for the different processor modes. The following is my monitor initialization code: @ Install Secure Monitor @ ----------------------- ldr r1, =ns_image @ R1 is used str r0, [r1] ldr r0, =tz_monitor @ Get address of Monitors vector table mcr p15, 0, r0, c12, c0, 1 @ Write Monitor Vector Base Address Register @ Save Secure state @ ------------------ ldr r0, =S_STACK_LIMIT @ Get address of Secure state stack stmfd

writing a function in ARM assembly language which inserts a string into another string at a specific location

亡梦爱人 提交于 2020-01-17 05:32:07
问题 I was going through one of my class's textbooks and I stumbled upon this problem: Write a function in ARM assembly language which will insert a string into another string at a specific location. The function is: char * csinsert( char * s1, char * s2, int loc ) ; The function has a pointer to s1 in a1, a pointer to s2 in a2, and an integer in a3 as to where the insertion takes place. The function returns a pointer in a1 to the new string. You can use the library functions strlen and malloc.

GSL: nm outputs “undefined Symbol (U)”

故事扮演 提交于 2020-01-17 03:44:10
问题 I cross compiled gsl fro android using arm-linux-androideabi . When I dynamically loaded this library in android-studio , it gave me error. can not locate symbol cblas_sdsdot. I ran nm command on gsl and got U cblas_sdsdot Then I ran nm command on gslcblas and got 000002645 T cblas_sdsdot. I also loaded gslcblas.so before gsl.so but still I am getting the error. Any suggestion to get rid of this problem? Thanks 来源: https://stackoverflow.com/questions/30727709/gsl-nm-outputs-undefined-symbol-u

Error while compiling Linux kernel for ARM

十年热恋 提交于 2020-01-16 18:10:50
问题 I cloned the kernel from https://github.com/torvalds/linux.git Then tried to compile it as follows #make menuconfig menu config screens shows up. Without making any changes I save the config that generated .config file #make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- I get the following error. Please advise In file included from arch/arm/kernel/asm-offsets.c:20:0: /home/androiddev/linus/linux/arch/arm/include/asm/glue-df.h:107:2: error: #error Unknown data abort handler type #error