arm

ARM 移植 QT 5.9.6

折月煮酒 提交于 2020-03-17 06:33:23
1:配置脚本 因linux和windows格式配置不一样,复制进去会报错,直接在linux vim 手打 #!/bin/sh ./configure -prefix /opt/qt5.9 \ -opensource \ -debug \ -confirm-license \ -xplatform linux-arm-gnueabi-g++ \ -no-opengl \ -no-pch \ -shared \ -no-iconv \ -no-xcb \ 2:qmake.conf # # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEFILE_GENERATOR = UNIX CONFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = arm-linux-gnueabihf-gcc -lts QMAKE_CXX = arm-linux-gnueabihf-g++ -lts

使用 VS2019、VSCode 编辑 Linux 驱动工程

落爺英雄遲暮 提交于 2020-03-16 09:53:03
准备配置文件 创建Project1.vcxproj配置文件 文件中添加如下内容 Debug x64 Linux Project1 15.0 Linux 1.0 Generic {2238F9CD-F817-4ECC-BD14-2524D2669B35} true D:/Linux/linux-3.4.39.6818/include; D:/Linux/linux-3.4.39.6818/arch/arm/include; D:/Linux/linux-3.4.39.6818/arch/arm/include/generated; D:/Linux/linux-3.4.39.6818/arch/arm/mach-s5p6818/include; D:/Linux/linux-3.4.39.6818/arch/arm/plat-s5p6818/include; D:/Linux/linux-3.4.39.6818/arch/arm/plat-s5p6818/common; D:/Linux/linux-3.4.39.6818/arch/arm/plat-s5p6818/GEC6818/include; %(AdditionalIncludeDirectories) __KERNEL__;CONFIG_RWSEM_GENERIC_SPINLOCK 项 描述 kernel/include

Uboot启动分析笔记-----Stage1(start.S与lowlevel_init.S详解)

狂风中的少年 提交于 2020-03-15 11:39:12
Uboot启动分析笔记-----Stage1(start.S与lowlevel_init.S详解) 1 u-boot.lds 首先了解uboot的链接脚本board/my2410/u-boot.lds,它定义了目标程序各部分的链接顺序。 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") /*指定输出可执行文件为ELF格式,32为,ARM小端*/ OUTPUT_ARCH(arm)/*指定输出可执行文件为ARM平台*/ ENTRY(_start)/*起始代码段为 _start*/ SECTIONS { /* 指定可执行image文件的全局入口点,通常这个地址都放在ROM(flash)0x0位置*、 . = 0x00000000;从 0x0位置开始 . = ALIGN(4); 4字节对齐 .text : { cpu/arm920t/start.o (.text) board/my2440/lowlevel_init.o (.text) *(.text) } . = ALIGN(4); .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } . = ALIGN(4); .data : { *(.data) } /* 只读数据段

ARM在自助终端设备的应用

不想你离开。 提交于 2020-03-13 23:47:02
自助终端经过信息化大潮的推进,也逐渐在我们身边普及开来,如医院挂号、缴费、打印报告单,银行、电信自助办理业务,自助售票、自助点餐取号,自助办理值机等等。自助服务给我们带来的除了减少排队等候外,其24小时无人值守的优势也越发受到运营业主和使用者的青睐。 传统的自助设备大多基于X86架构的电脑运行Windows系统所开发,其因笨重的体积、高成本、高功耗、系统易中病毒崩溃等问题被大家所诟病,也被称为是自助设备更大批量普及的绊脚石。 恰逢此时,ARM的性能也越来越强悍,其软搭档安卓系统的操作界面易用性也被我们所熟悉,逐渐在自助设备领域占据一定份额。 ARM以其低成本、低功耗、小体积、高稳定性的优势,可以正中要害地打碎自助设备的绊脚石,实现更广的自助化,让我们的生活、生产可以更便利、更高效、成本更低。 在此,笔者以OK3399-C ARM主板(右)和i3四代的X86主板(左)为例,从硬件成本、软件成本、功耗散热、体积、维护成本这5个方面做个对比: ▲X86主板 ▼OK3399-C 1、硬件成本 X86,i3-4025U CPU,4G RAM,64GB SSD的配置,可以保证Win10系统流畅运行的基本配置,售价大约在1200左右;而ARM,RK3399 CPU,2G RAM,16GB ROM的配置,运行Android系统非常流畅,甚至都可以完成人脸识别应用,售价在899RMB左右。

[转帖]Linux Chromium Arm Recipes

痴心易碎 提交于 2020-03-10 07:48:32
Linux Chromium Arm Recipes https://chromium.googlesource.com/chromium/src/+/master/docs/linux/chromium_arm.md Contents Recipe1: Building for an ARM CrOS device Recipe2: Explicit Cross compiling Installing the toolchain Installing the sysroot Building Testing Automated Build and Testing Testing with QEMU Notes Recipe1: Building for an ARM CrOS device https://sites.google.com/a/chromium.org/dev/developers/how-tos/-quickly-building-for-cros-arm-x64 Recipe2: Explicit Cross compiling Due to the lack of ARM hardware with the grunt to build Chromium native, cross compiling is currently the

arm-linux的gdb移植

南楼画角 提交于 2020-03-09 07:16:36
转载于:http://blog.chinaunix.net/uid-23381466-id-309369.html arm-linux 的gdb移植分为两种情况.一种是交叉调试版。 这一种模式是需要编译一个arm-linux版本gdbserver (GDB的stub模块).然后再编译一个X86版本交叉调试的gdb.为了与桌面版本身的gdb 区别开来,一般改名为 arm-linux-gdb。两者通过串口或者网络进行互联。 还有一种是干脆把整个gdb移植成一个ARM的本地版。在开发板上直接用gdb来调试。 前一种方法是比较正统的方法。它gdbserver可以通过arm-linux-gdb直接在host上单步调试target的应用程序。.并且可以与图形界面调试器配合进行图形界面调试。缺点就是target资源较少。因此单步调试的速度并不是太快。因此实用性不算太强。 如何交叉调试 arm-linux的本地版一般只能做字符界面的。界面没有支持GUI的交叉调试版友好。而且单步调试速度也不算快。但是有几大大优点: 1.定位程序退出所在函数. 2.判断程序退出的原因 3.通过条件断点分析异常情况时运行环境. 用本地版gdb运行程序时,当程序因段错误或其它原因退出程序时。可以通过gdb bt(即backtrace)来查看最后运行的堆栈。来判断出错时是在哪一个函数里退出。这样会大大加快定位错误的速度

armv6 armv7 armv7s架构的区别

房东的猫 提交于 2020-03-08 20:22:35
arm结构处理器,几乎所有的手机都基于arm,其在嵌入式系统中应用非常广泛。 ARM 处理器因为低功耗和小尺寸而闻名,它的性能在同等功耗的产品中也很出色。这里我们注意一点,模拟器并不运行arm代码,软件会被编译成x86可以运行的指令。只有在目标设备上,才会执行设备对应的指令集。 ARMv6设备 包括 iPhone, iPhone2, iPhone3G以及第一代和第二代iPod Touch ARMv7设备 包括 iPhone3GS, iPhone4 iPad, iPad2, the new ipad iPod touch 3G, iPod touch 4 ARMv7s设备 包括 iPhone5 如果在工程build setting的Architectures中 选“Standard Active Architecture Only”为True则,选择Armv6或v7都只会编译对应指令集的包;若选false,则编译器会整合两个指令集到一起,则包比较大,但是能使用Armv7 的优化,同时能适配到老的机器。 一般Debug的时候“Build Active Architecture Only”选择YES,用当前架构看代码逻辑是否有问题,发Release的时候选择NO,因为需要适配其他的机型。 低arm的包可以在高arm的机子上跑,反之则不可以。 来源: oschina 链接: https:/

Arm及Arm Cortex-M处理器

允我心安 提交于 2020-03-08 09:47:31
https://mp.weixin.qq.com/s/sRio4NPTSj4oVq2YtM_c1g 1 Arm 处理器架构 从大的方面讲,Arm公司共出过八种处理器架构,其中V1-V3架构,是ARM诞生之初的架构,已经过时而废,目前最新的架构师V8,V9也许不久的将来会发布。其中V6,V7,V8架构又分为M系列,A系列和R系列。 2 Arm 处理器 早期的处理器现在被称为经典处理器,例如曾经广泛使用的arm7/arm9/arm11处理器。现在主要的是Arm Cortex 系列,又分为3类: Cortex-M: 嵌入式处理器 Cortex-A: 应用处理器 Cortex-R: 实时处理器 上图中Cortex-M系列没有罗列出M23,M33,M35P以及M55。 3 Arm Cortex处理器ARM A, R,M系列处理器应用领域不同,这是由这些处理器的特点决定的。 4 Arm Cortex-M处理器 在嵌入式领域,Cortex-M处理器被广泛使用。Cortex-M处理器系列针对低成本和高能效的微控制器进行了优化。这些处理器可用于各种应用,包括物联网,工业和日常消费类设备。 目前ARM Cortex-M最新的处理器是Cortex-M55,Arm Cortex-M55处理器是具有AI功能的Cortex-M处理器,并且是第一个采用Arm Helium矢量处理技术的功能

Java与ARM的关系

吃可爱长大的小学妹 提交于 2020-03-06 08:56:12
Java与ARM学习的互通之处 1、不同点 2、相同点 3、后续 1、不同点 首先,很显然这是两种不同的东西,Java是一种编程语言,ARM是一种芯片架构,这是两个世界的东西。而且,两者所用编程软件也大相径庭。 2、相同点 两者都可以看成一种协议。比如Java是按照该语言规定的语法格式来编写语句,否则便不能编译并在JVM上运行。ARM是一种芯片内核架构,也要用编译器所需要的特定格式来编写程序。 3、后续 后续将持续性更新一些Java学习资料以及ARM架构的STM32单片机的资料,还有信号与系统,高频电子线路等电子信息专业课资料。 来源: CSDN 作者: 浩渺·L 链接: https://blog.csdn.net/weixin_44576259/article/details/104683170

移植mysql到arm平台

自作多情 提交于 2020-03-04 15:13:02
最近需要将一个程序移植到arm平台上,程序调用了MySQL数据库,所以就牵扯到将MySQL数据库移植到ARM平台上面,所以在网上大量查阅资料。在baidu文库发现了一篇文档,是wlzxlc上传的文档名称为 :《 编译ARM平台的QtEmbedded的MySQL插件和移植MySQL 》 。 下面说明里面介绍到: ARM平台下的QtEmbedded所需mysql插件,及MySQL的移植。 我的整个移植过程参考了这篇文档,但是遇到了很多的问题,所以又上网搜寻其它资料。现在我已经移植成功,回头看这篇文档,就发现里面有很多疏漏甚至是错误。这些东西如果不详细注明出来,更多的新手绝对还会重蹈我的覆辙,所以在这里将 mysql 的 arm+linux 移植经验贴出来,希望对新手以及做相关方面工作的人能有帮助。所有在《 编译ARM平台的QtEmbedded的MySQL插件和移植MySQL 》这篇文档中的错误以及注意事项,我也会一一列出,在下面我将其称为“原文”。 编译器:arm-linux-gcc(4.3.2) P c平台:ubuntu 在移植之前有必要先说明一下几个问题: 1.M y SQL还没有支持交叉编译的版本出现.但为了让编译继续 , 必须在 configure 脚本中将多处不支持交叉编译的命令全都注释掉,才能让 configure 顺利通过。 2.交叉编译过程中需要用到 ncurses-5