arm9开发板原理(高性能arm9开发板应用技巧)

ARM简介

1.

ARM只卖知识产权,不卖(物理的、实质的)产品。

2.

全世界100多家公司购买了ARM授权。

包括:三星、Freescale、NXP Semiconductors、STMicroelectronics、

Texas Instruments、Toshiba,Analog Device、atmel、microsemi等具体参看ARM官网。

3.

ARM processor family:

ARM7、ARM9、ARM11、Cortex-A、Cortex-R、Cortex-M、SecurCore。

4.

为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了6种主要的ARM指令集体系结构版本,以版本号V1~V6表示。

ARM架构(或内核):

ARMv1、ARMv2…到ARMv8,比如ARM9,10架构为ARMv5、ARM11为ARMv6、Cortex系列为ARMv7 (Cortex系列又包括Cortex-A,Cortex-R,Cortex-M三系列,架构也分别为ARMv7-A、ARMv7-R、ARMv7-M)。

最小的64位arm架构为ARMv8…(细分的ARMv4T,v5E等就不说了)。

处理器内核:

ARM7、ARMv4;

ARM9、10 ARMv5;

ARM11、ARMv6;

CortexA8、ARMv7;

64bit ARMv8。

5.

ARM7是冯诺依曼体系结构,ARM9、ARM11等是哈佛体系结构(数据和指令分开存储,分开访问速度更快)。

6.

其他分类

经典ARM处理器:

ARM11??系列-基于 ARMv6 架构的高性能处理器;

ARM9??系列-基于 ARMv5 架构的常用处理器;

ARM7??系列-面向普通应用的经典处理器;

ARM专家处理器:

SecurCore??-面向高安全性应用的处理器;

FPGA Cores-面向 FPGA 的处理器;

ARM Cortex-应用程序处理器;

ARM Cortex-嵌入式处理器。

7.

授权数

经典ARM处理器许可证数:

ARM11系列-82;

ARM9系列-271;

Cortex处理器许可证数:

Cortex-A-86;

Cortex-R-22;

Cortex-M-123。

8.

经典ARM处理器:ARM7、ARM9、ARM11。

ARM11之後分成三类:Cortex-A/R/M;

1. Cortex-A系列面向尖端的基于虚拟内存的操作系统和用户应用;

2. Cortex-R系列针对实时系统;

3. Cortex-M系列对微控制器。

9.

ARM7、9、11区别:

ARM7是冯诺依慢结构;

ARM9、ARM11是哈佛结构,所以性能要高一点;

ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔;

不跑操作系统,价格低一点的:ARM7、cortex-M3等等;

性价比高,可跑也可不跑操作系统的:ARM9、cortex-Rx等等;

性能高的,通常要跑操作系统的:ARM10、ARM11、Cortex-A8等等;

成熟的:ARM7、ARM9、ARM11;

发展趋势:Cortex-A、Cortex-R、Cortex-M;

其实弄ARM大多还是在嵌入式领域,不过现在很多上网本也开始ARM了,估计与intel竞争的时候快来了。

2410和2440都是三星公司生产的基于ARM9内核的芯,资源上相差不大,

2440多了camara接口,速度要更快一些。上边讲的版本是指内核版本,

而各个公司出的发行号又各有不同,比如三星的2440、atmel的9260,就好比linux的内核版本号与红帽子的发行号不一样是一个道理。

10.

cortex-m3和ARM11区别:

cortex-m3的架构(ARMv7)比ARM11(ARMv6)的版本高,但是cortex—m系列的芯片的应用主要在低端(就相当于一个单片机,不跑OS),从性能上来说ARM11要比cortex-m3要好不少。

11.

ARM7 工控用的一般是ST公司的如STR73xSTM32F系列、三星的44b0、atmel的AT91系列;

ARM9系列一般是三星公司 S3C2440;

ARM11一般是手机上用的。

处理器以架构分类可以这样分:

1. ARM7,ARM9属于v4T或v5E架构;

2. ARM11属于v6架构;

3. Contex属于v7架构ARM7,ARM9的区别在于是否有MMU(存储器管理单元),或MPU(存储器保护单元)架构上v5E相比v4T则是在于v5E新加入的增强型DSP(数字信号处理)指令,v4T则是Thumb指令集的加入,v6架构则是开始支持SIMD以及Thumb2的问世新指令的加入,增强了处理器的性能或实时性。

12.

51单片机寄存器比较少,指令只有111条;而arm芯片寄存器较多,指令集也多,要掌握它需要耐心和时间。所以,为了简化嵌入式软件的编程工作量,生产公司把寄存器的操作搞定,封装成函数,这就是固件函数库。

比如意法半导体(ST.COM)的《STM32F10xxx固件函数库.pdf》。

13.

学习arm编程,买开发板的话一般用arm9,arm11太贵(一般2k以上),arm7不能跑操作系统。

比如:三星S3C2440开发板,mini2440开发板。

14.

ARM开发需要:

1.硬件(带arm芯片的开发板);

2.下载线或仿真器(J-Link等)及其驱动;

3. 集成开发环境;

ADS(好像用的少了),MDK412-keil( arm收购),IAR Embedded Workbench for arm。

15.

常用系列:

ST系列、NXP系列、TI系列、ATMEL系列、Samsung 系列。

先熟悉GPIO,再熟悉串口,中断,定时器,flash等,熟悉好具体的外设操作,然后是stm32里搭建uCos系统,Linux系统。

-END-

招聘岗位

MCU软件工程师

工作职责:

1. 负责工控及车载平台的MCU软件开发。

2. 根据项目需求 ,负责汽车仪表MCU应用设计、编码、测试、调试等工作,以及相关设计文档的编写。

3. 负责软件调试、分析并解决产品BUG。

4. 对产品软件架构提出优化建议和实施方法,并实施改进。

技能要求:

1. 3年以上工作经验,熟悉C语言,有良好的代码编写习惯,有使用软件版本管理工具(如:git)经验者优先。

2. 精通至少3种典型的MCU开发(如:Cortex-M3、AVR等)。

3. 熟悉接口技术,如:串口(RS232、RS485)、CAN/LIN总线、以太网等总线。有汽车网络协议(如:UDS,OSEK)编程经验者优先。

4. 熟悉硬件电路知识,可以根据原理图编写相应的控制程序,有电路设计、PCB焊接能力者优先。

5. 具备优秀的沟通能力和团队合作精神,良好的英文阅读能力。

C 软件工程师

工作职责:

1. 负责各功能模块的C/C 封装、维护并编写相关文档 ;

2. 能按照项目计划,按时提交高质量代码,完成开发任务 ;

3.根据产品需要完成架构、模块设计、编码、单元测试工作

技能要求:

1. C/C 基本功扎实, 熟练掌握面向对象的编程;

2. 熟悉 QT Creator, 熟悉QT工作机制

3. 熟悉多线程、socket等开发,熟悉TCP/IP协议报文连接交互网络通讯细节

4. 有OpenGL应用开发和跨平台开发者优先;

5. 嵌入式平台上QT开发/优化经验优先;

6. QT5软件框架内部结构优先;

软件测试工程师:

工作职责:

1. 汽车仪表产品的系统测试方案编制、用例编写、测试执行;

2. 汽车仪表产品的实车路试跟进;

3. 汽车仪表产品的可靠性、环境测试跟进。

技能要求:

1. 熟悉CAN总线测试、CAN测试工具使用。

2. 熟悉测试用例的编制方法,熟悉测试问题的总结办法;

3. 熟悉Office软件的使用,能使用Office软件进行测试用例、Bug、测试报告的管理和发布;

4. 有汽车仪表量产测试经验的优先;

硬件工程师:

工作职责:

1. 负责汽车电子配件硬件平台的原理图设计、PCB堆叠设计、元器件选型、OTS样机准备;

2. 对汽车配件产品平台硬件设计和BOM优化工作;

3. 负责分析客户技术规范,主导硬件设计和评审;

4. 负责编制硬件和软件接口的技术规范;

5. 负责编制DFMEA;

6. 负责支持和配合其他团队成员解决客户问题并做好案例分析总结;

7. 支持PCB layout 和EMC 设计工作。

技能要求:

1. 本科学历&学士学位;电子相关类工科学士、硕士学位优先;

2. 精通电路模块设计和优化;熟悉硬件测试(模块/集成/验证);熟悉使用硬件设计工具,例如orCAD、allegro、AUTOCAD、CAM350及其他一些办公软件;

3. 3年以上汽车行业的电子产品硬件研发工作;

4. 主动积极,敢于承担,并具有较强沟通协调能力;

5. 能及时掌握汽车电子的发展方向,具有对新技术的敏感性和快速学习能力

6. 大学英语四级水平,英语沟通良好。

Android Framework开发工程师

工作职责:

1. Android Framework功能开发、需求分析、框架设计、调试等;

2. 负责车载产品功能对framework更改的需求;

3. 负责Android系统定制、模块集成和源码编译工作

技能要求:

1. 985、211 院校毕业或硕士及以上学历,计算机专业;

本科及以上学历,具备2年及以上Android framework开发和调试经验

2. 熟悉Android框架、JNI开发,熟练掌握Java语言,熟悉C/C 开发

3. 熟悉Android源码,有WiFi, 蓝牙,Audio, Media等模块的集成和开发优先

4. 熟练使用常用调试工具Android Studio、Eclipse、GDB,具备良好的分析解决问题的能力,能独立承担任务,有良好的进度把控能力;

联系人 :人力资源部-周小姐

简历命名:以“应聘岗位 – 姓名 ”命名

arm9开发板原理(高性能arm9开发板应用技巧)

上海市徐汇区田林路200号华鑫天地A栋

发表评论

登录后才能评论