ARM&系统移植
阿基米东
本科毕业于国内某知名双非理工大学,当过校队球员,后自学编程,专注于嵌入式软件开发十余年,在物联网、机器人、汽车等领域拥有实战经验,也是多个开源项目的贡献者,对 Web 前后端、AI 技术略知一二。立志成为一名杰出的开源创客,让世界因我而变得更美好!
展开
-
Source Insight 3.5快捷键大全
来源: givemetip 非常著名的C/C++源代码分析工具,C/C++开发人员很少有没用过的。快捷键比较多,应该熟练掌握。应用快捷键功能Alt+F12草稿视图Alt+F4退出Ctrl+Alt+Space重绘屏幕转载 2013-12-30 20:03:08 · 1570 阅读 · 0 评论 -
浅谈I2C总线
I2C(Inter Integrated Circuit,内部集成电路)总线是价格低廉却很有效的用以互连小规模嵌入式系统内的外设的网络。I2C 总线有时候也叫作 IIC,它已有20多年的历史了。I2C 接口和 SPI 接口的作用相同,但二者的使用方法有些不同。 I2C 总线用两根线来连接多支路总线中的多个设备。这种总线是双向、低速的,并与公共时钟同步。可以直接将一个设备接到 I2C 总原创 2016-05-30 09:45:54 · 9833 阅读 · 0 评论 -
Linux内核模块分析(module_init宏)
我们在学习Linux驱动开发时,首先需要了解Linux的模块化机制(module),但是module并不仅仅用于支撑驱动的加载和卸载。一个最简单的模块例子如下:// filename: HelloWorld.c#include <linux/module.h>#include <linux/init.h>static int hello_init(void){ printk(KERN_A原创 2016-05-17 03:25:13 · 12031 阅读 · 8 评论 -
浅谈CAN总线
在前面的《浅谈I2C总线》和《浅谈SPI总线》 中我们介绍的 I2C、SPI 总线多用于传输距离短、协议简单、数据量小、主要面向 IC(集成电路)间通信的“轻量级”场合。而 CAN 总线则不同,CAN 总线定义了更为优秀的物理层、数据链路层,并且拥有种类丰富、简繁不一的上层协议。什么是 CAN 总线 CAN 是“Controller Area Network”的缩写,即“控制器局域网”,是一个 I原创 2016-06-01 15:00:50 · 9270 阅读 · 4 评论 -
Image Processing Unit(IPU)简介
在 i.MX6 应用处理器中,有一个很重要的单元:IPU(Image Processing Unit)图像处理单元。图像处理单元的目标是提供从图像输入(摄像头传感器 / 电视信号输入等)到显示设备(LCD显示屏 / TV输出 / 外部图像处理单元等)端到端的数据流信号处理的全面支持。IPU库(IPU Library)是基于IPU硬件的,它能实现以下功能:调整大小。旋转。色彩空间 / 格式转换。原创 2016-08-03 10:53:09 · 5223 阅读 · 0 评论 -
yocto 介绍
http://www.ibm.com/developerworks/cn/linux/l-yocto-linux/index.htmlhttp://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html?cm_mc_uid=90221360399714715037663&cm_mc_sid_50200000=1原创 2016-08-18 16:35:02 · 1529 阅读 · 0 评论 -
嵌入式Web开发——Boa服务器移植
百度百科上关于 Boa 的说明: BOA 服务器是一个小巧高效的 web 服务器,是一个运行于 unix 或 linux 下的,支持 CGI 的、适合于嵌入式系统的单任务的http服务器。 源代码开放、性能高。由于它是一个单任务的 Web 服务器,只能一次完成用户的请求,而不会 fork 出新的进程来处理并发的链接请求。但是 Boa 支持 Cgi,能够为 Cgi 程序 fork 出一个进程来原创 2016-09-04 23:18:04 · 3123 阅读 · 0 评论 -
嵌入式Linux设备读取CPU温度的方法
http://embedded.kleier.selfhost.me/raspberry_cpu_temp.phpTo observe the temperature changes with small heat capacity the timely resolution must be as high as possible. Therefore the measuring script mu原创 2016-09-08 00:43:45 · 15126 阅读 · 0 评论 -
Linux驱动开发要点
Linux驱动程序的开发与应用程序的开发有很大的区别,这些差别导致了编写Linux设备驱动程序与编写应用程序的本质区别。一、用户态和内核态 Linux操作系统分为用户态和内核态。内核态完成与硬件的交互,比如读写内存、将硬盘上的数据读取到内存等。驱动程序在底层与硬件交互,因此工作在内核态。用户态可以理解为上层的应用程序,可以是Java应用程序、Qt应用程序、Python应用程序等。Linux操作系统原创 2016-05-17 19:23:09 · 1707 阅读 · 1 评论 -
修改yocto系统启动logo
最简单的替换方法是重新编译 psplash,对应目录在 meta-yocto/recipes-core/psplash。如果没有该目录的话,就需要下载,下载方法如下:root@bogon:/yocto/sources/meta-fsl-arm/recipes-core# git clone git://git.yoctoproject.org/psplash出现如下提示则表示下载成功:Cloning原创 2016-12-08 14:13:43 · 4396 阅读 · 2 评论 -
pkg-config 工具的介绍与使用
pkg-config 是一个 Linux 编译辅助工具。来自 https://www.freedesktop.org/wiki/Software/pkg-config/ 的一段介绍: pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the correct原创 2017-02-16 16:47:12 · 2099 阅读 · 0 评论 -
2017年一定要关注ARM这三大技术
ARM作为全球领先的IP供应商,凭借其核心优势,在移动设备时代,混的风生水起。而近年来随着设备转变的需求,ARM也针对性的做了提高,推出更适合的高效能产品。我们来盘点一下2017年不能错过ARM的三大技术:1、获得Trust Zone加持的ARMv8-M ARM® TrustZone® 是针对片上系统(SoC)设计的系统级安全技术,它基于硬件,内置于CPU和系统内核,为半导体芯片设计师设计设备安全转载 2017-01-17 00:19:48 · 4211 阅读 · 0 评论 -
使用 SkyEye 模拟 ARM Linux
对于希望学习 ARM 汇编的同学而言, 购买 ARM 开发板进行板上实测无疑是一个有效的方法,不过购买 ARM 开发板需要一笔费用,而且每次测试都需要连接开发板,比较麻烦。这里介绍一个 ARM 模拟器——SkyEye,通过 SkyEye 我们可以直接在一台 PC 上完成 ARM 汇编程序的开发和调试了,摆脱了 ARM 开发板的限制,真是不错! 下面介绍如何使用: 1、下载 SkyEye 的最新版原创 2017-03-14 17:34:10 · 4028 阅读 · 2 评论 -
嵌入式Linux中几种image的区别
vmlinux 编译出来最原始的内核文件,未经压缩。zImage 由 vmlinux 经过 gzip 压缩而得。 zImage 是由压缩后的 vmlinux 和解压缩程序组成。bzImage bz表示“big zImage”,不是用bzip2压缩的。 zImage 和 bzImage 的区别在于,zImage 解压缩内核到低端内存(第一个640KB),bzImage解压缩内核原创 2016-05-16 16:37:46 · 4202 阅读 · 0 评论 -
浅谈SPI总线
串行外围设备接口(Serial Peripheral Interface,SPI)是由 Motorola 公司开发的,用来在微控制器和外围设备芯片之间提供一个低成本、易使用的接口(SPI 有时候也被称为4线接口)。这种接口可以用来连接存储器、AD/DA转换器、实时时钟日历、LCD驱动器、传感器、音频芯片,甚至其他处理器。目前支持 SPI 的元件很多,并且还在不断增加。 这里需要提一下,原创 2016-05-27 22:14:14 · 5437 阅读 · 0 评论 -
cortex-A8汇编指令练习一
.text.extern uart_init.extern printf.global _start_start: mov r5,lr @ 保存子程序链接寄存器 bl uart_init @ 初始化异步串口 @ 循环打印10次 mov r11,#10 loop: ldr r0,=fmt @ 将fmt的内容加载到r0寄存器 @ 再作为第一参原创 2013-12-17 19:47:58 · 1658 阅读 · 0 评论 -
ARM通用寄存器
最近在学习 Cortex-A8 体系结构,以下为部分基本内容:ARM处理器运行模式1、用户模式(User):ARM处理器正常的程序执行状态;2、系统模式(System):运行具有特权的操作系统任务;3、快速中断模式(FIQ):用于高速数据传输或通道处理;4、外部中断模式(IRQ):用于通用的中断处理;5、管理模式(Supervisor):操作系统使用原创 2013-12-18 00:54:50 · 7253 阅读 · 0 评论 -
关于Android横竖屏布局
Android横竖屏要解决的问题应该就两个:一。布局问题;二。重新载入问题。 1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的 AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数: "unspecified" 默认值 由系统来判断显示方向.判定的策略是转载 2014-02-18 04:17:19 · 2304 阅读 · 0 评论 -
Linux+RTAI实时内核编译
如今Linux系统正被广泛用于各种嵌入式实时系统中,但由于Linux系统本身不支持硬实时扩展,故限制了其发展。由于Linux + RTAI的双内核方式构成的实时系统方案具有良好性能,本文将简述如何构建这样一个Linux + RTAI的实时系统。一、准备工作首先选择一款RTAI的版本,我们这里以RTAI-3.7为例,从官网【www.rtai.org】下载该RTAI压缩包。进入RTAI-3.7原创 2015-03-25 20:47:30 · 9479 阅读 · 0 评论 -
GEC210系统烧写过程记录(fastboot方式)
Windows下USB系统烧写准备材料:1、系统镜像——包括u-boot.bin、uImage-7Inch、rootfs-qtopia-finish.img2、fastboot工具——包括fastboot.exe、adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll注意:将fastboot.exe、adb.exe、AdbWinApi.dll、AdbW原创 2015-12-27 22:51:01 · 3223 阅读 · 1 评论 -
GEC210系统烧写过程记录(tftp方式)
1 配置网络prisetenv ipaddr 192.168.1.22setenv serverip 192.168.1.11setenv gatewayip 192.168.1.1saveenv2 烧写u-boottftp 0x40000000 u-boot-7-ok.binnand erase 0x0 0x600000nand write 0x40000000 0x0 0x6000003 烧写k原创 2015-12-27 22:55:45 · 1798 阅读 · 0 评论 -
ARM指令系统
ARM 微处理器的指令集是加载/存储型(Load/Store)的,即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。 Cortex-A8常用指令集,主要包括:ARM指令集、Thumb指令集。 ARM常用指令主要包含如下6大类:(1). 数据处理指令数据传送指令:MOV、MVN、MOVS、MVNS算原创 2013-12-18 01:40:19 · 1449 阅读 · 0 评论 -
ARM体系结构——如何在MDK上仿真
今天学习ARM体系结构,记录一下在MDK v4.14中如何仿真,查看寄存器情况。 MDK版本:uVision V4.14.4.0 处理器:Samsung S3C2410A(ARM920T) 开发语言:汇编语言======================================步骤及效果如下:Step1: 打开MDK集成开发环境,新建工程,选择目标设备为S3C2410原创 2016-03-06 00:19:12 · 3241 阅读 · 0 评论 -
常见 arm-linux- 命令使用说明
arm-linux工具的功能如下: arm-linux-addr2line 把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。 arm-linux-ar 建立、修改、提取归档文件。归档文件是包含多个文件内容的一个大文件,其结构保证了可以恢复原始文件内容。 arm-linux-c++flit 连接器使用原创 2016-03-12 23:13:56 · 3665 阅读 · 0 评论 -
基于GEC210的u-boot编译过程问题收集
硬件平台:GEC210(128MB*4 RAM,256MB NandFlash) U-Boot版本:u-boot-samsung-dev(android_uboot_smdkv210.tar.bz2) 交叉编译工具链:/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-问题1: uboot源码根目录下执行make,出现“Nothing to原创 2016-04-27 23:24:17 · 1235 阅读 · 0 评论 -
制作U-Boot的SD启动卡
1、接入SD到linux系统2、识别SD卡的分区信息及对应的设备名程。cat /proc/partitions3、制作SD启动卡cd sd_fusing检查sd_fusing.sh脚本中的存储设备名称是否正确制作启动SD卡 sudo ./sd_fusing.sh /dev/sdb原创 2015-12-16 01:16:44 · 6532 阅读 · 1 评论 -
Linux flash 文件系统剖析
文章出自:http://www.ibm.com/developerworks/cn/linux/l-flash-filesystems/ 您之前可能听说过 Journaling Flash File System(JFFS)和 Yet Another Flash File System(YAFFS),但是您知道使用底层 flash 设备的文件系统意味着什么吗?本文将向您介绍 Linux® 的 fl转载 2016-05-24 19:58:16 · 2689 阅读 · 0 评论 -
如何写死 u-boot 中的 bootargs
最近在论坛中有朋友问如何写死 u-boot 中的 bootargs command,这里我就为大家整理一下,方便大家查看。i.mx 系列产品在启动时,最先起来的是 u-boot,u-boot 起来以后,需要在 u-boot 中设置环境参数,设置不正确的话板子无法常启动。并且每次更新都很麻烦,所以这里通过修改 u-boot 源码中的命令的话使用起来会非常方便,具体方法以下会有介绍。 这里以开发板转载 2017-04-19 19:04:32 · 2718 阅读 · 1 评论