arm

海思AI芯片(Hi3516DV300/CV500)开发(3.搭建Linux开发环境)

房东的猫 提交于 2020-01-12 00:19:44
目录 1、软件包安装 2、编译arm-himix200交叉编译器 3、编译uboot和Kernel 前言:此篇搭建环境的Linux平台为ubuntu16.0.4 64位系统,SDK的目标平台为Hi3519DV300\CV500系列。 1、软件包安装 步骤 1 配置默认使用 bash 执行 #sudo dpkg-reconfigure dash 选择 no 步骤 2 安装软件包 执行: #sudo apt-get install make libc6:i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools:i386 texinfo texlive gawk libssl-dev openssl bc 步骤 3 创建/etc/ld.so.preload 文件 并执行 #echo "" > /etc/ld.so.preload 以解决 64bit linuxserver 上某些第三方库编译失败的问题。 步骤 4 安装其他软件包 因为Linux交叉编译器是32位的,而ubuntu16.0.4是64位的,因此需要安装lib32ncurses5和lib32z1兼容x86的运行库及环境。 #sudo apt-get install

Compiling for iOS with CMake

*爱你&永不变心* 提交于 2020-01-11 19:53:35
问题 I've compiled a C++ static library by using CMake as my building tool and I want to link it to my iOS app. I created a simple 'Empty' application in Xcode and linked my library called libengine.a to it. I tried to compile my iOS project and the linker gave me this warning: ignoring file /Users/.../build/engine/libengine.a, file was built for archive which is not the architecture being linked (i386): /Users/.../build/engine/libengine.a As I understand it, I need to compile my library for ARM

Compiling for iOS with CMake

久未见 提交于 2020-01-11 19:53:09
问题 I've compiled a C++ static library by using CMake as my building tool and I want to link it to my iOS app. I created a simple 'Empty' application in Xcode and linked my library called libengine.a to it. I tried to compile my iOS project and the linker gave me this warning: ignoring file /Users/.../build/engine/libengine.a, file was built for archive which is not the architecture being linked (i386): /Users/.../build/engine/libengine.a As I understand it, I need to compile my library for ARM

Can't find Android 8.0-8.1 (Oreo) API 26-27 ARM System Images

偶尔善良 提交于 2020-01-11 16:40:06
问题 Are there anywhere Android 8.0 (Oreo) API 26 and Android 8.1 (Oreo) API 27 ARM System images (ARM, not x86 Intel) for AVD Manager? Thanks. Unofficial? Beta? Alpha? Any? 回答1: The ARM images for API 26 and 27 are not available yet. ARM images available till API 25 only. Note: Google recommended an x86 system image on an x86 host for better emulation performance. 回答2: You should build Android sources for specific platform by yourself 回答3: Recent updates enabled computers with AMD processors to

What does code pattern like .size X,.-X do?

感情迁移 提交于 2020-01-11 09:21:50
问题 My question is about some popular but not well documented code I have found in ARM CORTEX M startup files like this STM32. The 'pattern' is: .size X,.-X ,where X is a symbol or label. I have found this answer and understand how .size directive and dot special symbol work, but still complete line seems to do nothing to me. The result of the operation .-X isn't stored anywhere. Could anybody explain what the line does? 回答1: That is placed at the end of function X, and the size of the function

ARM: Why only 12 bits for immediate constants?

纵然是瞬间 提交于 2020-01-11 07:20:31
问题 what does it mean : I have only 12 bits for immediate constants, so can I represent immediate constants only from 0 to 2^12 = 4096 ? Operand 2 , if it's a register, can have 32 bits, but why only 12 bits for immediate constants? Where does this number come from? 回答1: It defined by the instruction set. E.g. the MOV instruction is encoded as 31 28 | 27 26 | 25 | 24 23 22 21 20 | 19 16 | 15 12 | 11 0 | cond | 0 0 | I | 1 1 0 1 S | SBZ | Rd | shifter operand | (see "ARM Architecture Reference

Debugging shared libraries remotely with gdb/gdbserver

六眼飞鱼酱① 提交于 2020-01-11 05:31:08
问题 My question is about remote debugging an application on an embedded arm processor using gdb/gdbserver. I can debug the application itself, but the application dynamically links to a shared library which implements an in house communications protocol. I want to be able to set breakpoints within the shared library functions so try to figure out some device discovery problems. I have made sure that the library is compiled with debug symbols and is loaded by gdb on the host side, I can list

ARM Assembly Local Labels

雨燕双飞 提交于 2020-01-11 04:48:05
问题 I'm currently reading a tutorial on Raspberry Pi OS development and was wondering about the way local labels are used in this code snippet (GCC ARM Assembly): ... b 2f 1: stmia r4!, {r5-r8} 2: cmp r4, r9 blo 1b ... If you use 1: as a label you have to specify either f or b after the jump instruction to make the assembler know in which direction the jump is aimed. As far as I know you could also use this: ... b .2 .1: stmia r4!, {r5-r8} .2: cmp r4, r9 blo .1 ... I think this option is a lot

ARM嵌入式开发——基础概念

自作多情 提交于 2020-01-11 01:19:54
文章目录 嵌入式Linux系统组成 嵌入式Linux系统的启动流程 uboot制作 uboot特点 uboot三大功能 硬件初始化功能 引导加载内核 为内核传递启动参数 uboot源码操作 嵌入式Linux系统组成 嵌入式Linux系统软件由三部分组成: BootLoader(uboot)裸板软件,初始化硬件+从闪存加载内核到内存并且启动内核+给内核传递启动参数,告诉内核根文件系统rootfs在什么地方。(上电运行,内核启动后结束) Linux内核(kernel):Linux系统7大功能,管理进程、管理内存、文件系统、设备控制、网络管理。掉电结束。 根文件系统(rootfs): bin:各种命令。 sbin:各种超级用户的命令。 lib:标准系统库。 etc:各种服务的配置(tftpd-hpa,nfs) dev:存放设备文件 sys:存放虚拟文件系统sysfs相关内容 proc:存放虚拟文件系统procfs相关内容 usr:存放其他命令 嵌入式Linux系统的启动流程 上电CPU运行uboot uboot根据bootcmd加载启动内核并且通过bootargs给系统传递参数。 内核启动,完成7大功能。 内核最后根据uboot传递的bootargs到某个地方找到根文件系统rootfs 一旦找到根文件系统rootfs,控制权交给根文件系统。 内核会运行第一号进程/sbin/init

U-Boot hangs while loading kernel?

老子叫甜甜 提交于 2020-01-10 14:59:10
问题 I am working on Freescale board imx50evk. I have built the uboot.bin and uImage using LTIB (linux target image builder). At the U-Boot prompt I enter the bootm addr command, and then it hangs after showing the message "Loading Kernel..." > MX50_RDP U-Boot > boot MMC read: dev # 0, block # 2048, count 6290 partition # 0 ... 6290 blocks read: OK ## Booting kernel from Legacy Image at 70800000 ... Image Name: Linux-2.6.35.8 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1323688