嵌入式开发

嵌入式开发常用通信协议(总结)

痞子三分冷 提交于 2020-03-17 07:54:01
在嵌入式系统中,板上通信接口是指用于将各种集成电路与其他外围设备交互连接的通信通路或总线。 以下内容为常用板上通信接口:包括I2C、SPI、UART、1-Wire 1. I2C总线(Inter Integrated Circuit) I2C总线是一种同步、双向、半双工的两线式串行接口总线。这里,半双工的含义 是指在任意给定的时刻,只有一个方向上是可以通信的 。I2C总线最早由Philips半导体公司于20世纪80年代研发面市。I2C最初的设计目标是为微处理器/微控制器系统与电视机外围芯片之间的连接提供简单的方法。 I2C总线由两条总线组成:串行时钟线SCL和串行数据线SDA。 SCL线——负责产生同步时钟脉冲。 SDA线——负责在设备间传输串行数据。 I2C总线是共享的总线系统,因此可以将多个I2C设备连接到该系统上。连接到I2C总线上的设备既可以用作主设备,也可以用作从设备。主设备负责控制通信,通过对数据传输进行初始化/终止化,来发送数据并产生所需的同步时钟脉冲。从设备则是等待来自主设备的命令,并响应命令接收。主设备和从设备都可以作为发送设备或接收设备。无论主设备是作为发送设备还是接收设备,同步时钟信号都只能由主设备产生。在相同的总线上,I2C支持多个主设备的同时存在。图1-1显示了I2C总线上主设备和从设备的连接关系。 图1-1                   图1-2

第一次用博客园

巧了我就是萌 提交于 2020-03-17 06:43:24
自从辞职,一直在家休息看书,至今已三月有余。 这三个月来,我看了大量的技术书籍,发现自己的许多知识已经落伍,只能恶补。 人都是有惰性的,为了不至于让自己的热情消失,也为了能与朋友交流,上博客园申请了一个帐号,希望大家多沟通。 我感兴趣的内容: 1、工业通态组态软件; 2、C++编程,特别关注:模板编程、设计模式等; 3、可视化建模; 4、代码单元测试; 5、嵌入式软件开发,特别关注:wince、linux等; 6、跨平台软件开发; 7、人机界面; 8、软件开发项目管理; 来源: https://www.cnblogs.com/linkman/archive/2005/01/13/91450.html

嵌入式开发之C基础学习笔记06--数组和指针(非常重要,难点)

非 Y 不嫁゛ 提交于 2020-03-15 21:50:14
C语言进阶学习 数组 1)数组的使用 2)字符串(String):数组(尤其是一维数组)最常用的地方——————>C语言中字符串就是一维数组 数组: 定义:具有相同类型的数据的有序集合,并用唯一的名字来标识。 1)数组必须直接声明,编译器在编译阶段为其分配内存空间 2)C89数组必须是定长的,数组的大小在编译时是固定的;C99允许使用变长数组,数组的大小在运行时确定 void f(int longeur,int wide) { int matrix[longeur][wide];/*定义一个矩阵*/ /*数组的长度由两个参数决定*/ } 3)数组的所有元素占连续的内存空间,在内存中是线性(顺序)存放的,保存数组所需要的内存空间直接与基本类型和数组长度有关。 数组占用的内存空间 = sizeof(基类型)*数组长度 4)C不检查数组是否越界,程序可以在两边越界。程序员应自己加入越界检查。数组可以越界使用,但是初始化时不允许! 5)向函数传递数组: 定义数组形参的方法有三种:指针,定长数组,无尺寸数组 void func1(int *a){...} void func2(int a[10]){...} void func3(int a[]){...} 在函数的形参的声明中,数组尺寸无所谓,因为C语言没有边界检查 实际上,第二种方法在编译后,编译器产生的代码就是让函数接受指针

stm32 嵌入式开发 用标准库进行 ADC 实验总结

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-09 10:00:04
------------恢复内容开始------------ 硬件原理图 ,滑动电位器与芯片PC3引脚连接 根据开发板可知: STM32F429IGT6 有 3 个 ADC ,每个 ADC 有 12 位、 10 位、 8 位和 6 位可选,每个 ADC 有 16 个外部通道。         每个ADC 同时还有3个内部通道:通道16/17/18         工作模式有3种: 独立模式、双重模式和三重模式 。 转换顺序可分为:规则序列,注入序列。如下图所示: 规则序列寄存器设置根据表由上到下选择通道进行配置 注入序列寄存器JSQR转换顺序为JSQR [X] [4:0],                   X=4-JL,JL为需要转换的通道 触发源可选择:ADC2_CR2->ADON        外部事件触发:内部定时器、外部IO (EXTSEL[2:0] JEXTSEL[2:0]控制 ) 时间设置: ADC 的输入时钟ADC_CLK由PCLK2经过分频产生36MH最大z频率 采样时间:每个通道可以设置不同的采样频率,最小的采样时间是3个周期1/ADC_CLK     ADC总转换时间= 采样时间+12个时钟周期 数据寄存器:ADC_DR 1个32位寄存器,最低16位有效。独立模式时使用,可以开启DMA模式       ADC_JDRX 4个32位寄存器,低16位有效    

信必优嵌入式开发

断了今生、忘了曾经 提交于 2020-03-05 17:42:10
在 IoT(物联网)的世界,一切都是数字化的 – “智能”手表、“智能”汽车乃至“智能”家具 – 所有设备都经过特殊设计,可与用户无缝连接。这一切背后的技术就是嵌入式开发 – 它是汽车、可穿戴设备、智能设备和工业应用的关键促成因素。嵌入式软件是动力引擎,为物联网设备和智能设备提供驱动力。 在 Symbio,嵌入式开发已深深植根于我们的业务核心。我们的嵌入式软件已经应用到不同行业的高需求环境中 – 从汽车、高科技消费产品到工业环境中的关键任务解决方案,它几乎无处不在。我们与初创企业合作,从头开始创建新的创新产品,还与大型企业合作,将服务设计和嵌入式技能应用至现有解决方案。 我们积累了数十年的专业知识涵盖从创新到交付、从质量保证到产品生命周期管理,涉及嵌入式开发的方方面面。通过有效利用我们的敏捷开发方法,我们可以提供强大的端到端嵌入式驱动解决方案。 我们通过以下嵌入式解决方案服务帮助客户: 核心嵌入式开发 嵌入式软件性能优化 嵌入式产品分析 端到端嵌入式交付 实现嵌入式解决方案的敏捷和持续交付 架构开发和硬件选择 质量保证和测试 将封闭式解决方案转换为开放式平台 嵌入式生命周期管理 与能够将最新嵌入式技术和专有技术与全球交付能力相结合的合作伙伴合作,您准备好了吗?无论您使用我们的自研产品还是开发专属于您的嵌入式解决方案,您都将享受到 Symbio 的过人之处带来的优势

《痞子衡嵌入式半月刊》 第 3 期

我怕爱的太早我们不能终老 提交于 2020-03-05 09:12:46
痞子衡嵌入式半月刊: 第 3 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly ),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾 : 《痞子衡嵌入式半月刊: 第 2 期》 唠两句 今天是雨水与惊蛰交节之时,惊蛰节气在农耕上有着相当重要的意义,自古以来我国人民很重视惊蛰这个节气,把它视为春耕开始的节令。 新冠肺炎疫情在逐日好转,相信大部分人都已经开始陆续复工了,但痞子衡东家还是决定 3 月 23 号之后再考虑全面复工的事。因此这些天痞子衡在家主要是以看技术文档写技术文档以及线上客户支持为主,最近原创文章产出比较惊人,一周能达到 3 篇,写文章这种事,写作过程中比较痛苦,但写完还是成就感满满的。 最近痞子衡不断接到技术群的朋友约稿,趁着在家办公的时机,痞子衡会加快写作,尽早完成大家的约稿。 本期共收录 3条资讯、4个项目、2个工具、1个RT产品,希望对你有帮助! 资讯类 1、面向音频/语音应用的恩智浦 i.MXRT600 已上市 恩智浦半导体于 Embedded World 2020 上宣布其旗下主打音频/语音应用的全新跨界处理器 i.MXRT600 已开始正式供货,10K 量起价 $4.50

基于flink的Mapreduce嵌入式开发

眉间皱痕 提交于 2020-03-03 06:06:32
Flink与Apache Hadoop MapReduce接口兼容,因此允许重用Hadoop MapReduce实现的代码。 本文简述实际项目中Mapreduce在flink中的应用,task结构如下: 1.引入依赖 < dependency > < groupId > org . apache . flink < / groupId > < artifactId > flink - streaming - java_2 . 11 < / artifactId > < version > $ { project . version } < / version > < / dependency > 2.task写法 public class CarrierTask { public static void main ( String [ ] args ) { final ParameterTool params = ParameterTool . fromArgs ( args ) ; // 设置环境变量 final ExecutionEnvironment env = ExecutionEnvironment . getExecutionEnvironment ( ) ; // 设置全局参数 env . getConfig ( ) . setGlobalJobParameters

第一节嵌入式课程总结

久未见 提交于 2020-03-01 21:29:42
第一节嵌入式课程总结 一、嵌入式课程学习内容 1.了解嵌入式技术 2.掌握嵌入式Linux操作的使用(命令) 3掌握.嵌入式Linux开发工具的使用(gcc,gbd,make,shell) 4.掌握嵌入式Linux应用开发(文件,多任务,网络,数据库) 5.了解嵌入式产品开发的流程(硬件–软件–系统) 6.了解嵌入式系统移植(u-boot,内核,文件系统) 7.了解嵌入式底层软件开发(驱动开发) 二、什么是嵌入式技术? 在学习什么是嵌入式技术之前首先要回答三个问题 1.嵌入式软件和非嵌入式软件的区别 2.嵌入式开发与单片机开发的区别 3.嵌入式开发的优缺点 非嵌入式开发也就是所说的裸机开发,常见的非嵌入式芯片如3G手机。传统开发是软件和硬件之间的直接耦合,单片机的开发就属于传统开发,单片机的开发顺序通常是查看原理图----代码编写----下载烧录,对于相同类型的不同芯片,通常原理图都有区别,所以编写的代码不可能适用所有芯片,这就需要更改代码实现功能。 传统开发的缺点也就很明显了: 1.软件的移植性差(适配平台能力差),由一个平台转移到另一个平台的能力由于每一次转移都需要重写代码,适配能力就比较差。 2.传统开发的缺点还有一直存在的效率低,功耗高。 3.开发人员的能力要求(软硬通吃),开发人员软件和硬件都需要掌握。 而嵌入式系统在软件和硬件之间移植了操作系统

嵌入式课堂整理1

≯℡__Kan透↙ 提交于 2020-03-01 17:05:19
一、嵌入式开发概述 1.嵌入式技术是什么? 答:在已有的硬件上移植操作系统;在操作系统之上做上层应用开发,在操作系统之下做底层开发。 2嵌入式软件与非嵌入式软件的区别? 答:最大的区别是有无操作系统。嵌入式技术有操作系统,非嵌入式没有操作系统。 3.嵌入式开发与单片机开发的区别? 答:嵌入式开发有操作系统,单片机开发属于传统开发,只有软件和硬件,没有操作系统。 4.传统开发的缺点? 答:软件移植能力差(适配平台能力差);开发人员能力要求需要软硬件掌握的都很好。 5.嵌入式开发的优点? 答:嵌入式在软硬件之间加入了操作系统;操作系统具有管理软件资源和硬件资源的作用。属于多任务机制,提供了丰富的网络协议,提供了开源软件和库。 二、嵌入式开发方向 1.嵌入式上层应用软件开发。(精通一门语言;熟悉一款操作系统;熟悉数据结构算法) 2.嵌入式底层系统软件开发。(精通C语言;理解操作系统的实现;熟悉硬件的工作原理;熟悉汇编) 3.嵌入式工程师。 三、作业 CPI体系结构的种类、特点及应用场景?(内容参考csdn的博主@printfd) 1、ARM ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。 特点:体积小、低功耗、低成本

2.25嵌入式设计(拓展)

天大地大妈咪最大 提交于 2020-03-01 13:56:17
本次拓展的灵感来源于“嵌入式=!ARM”这个来自我老师课堂教学中的一个式子,(当然他强调这个式子是不能这么写的,只是便于我们理解),这就引起了我好奇。 ARM是什么? ARM 即Advanced RISC Machines的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 首先,ARM是一家公司的名称。英国ARM 公司是全球领先的16/32 位嵌入式 RISC 微处理器解决方案的供应商,向全球各大领先电子公司提供高性能、低成本和高效率的RISC 处理器、外设和系统芯片技术授权。ARM 还为开发完整系统提供综合技术支持。ARM 的微处理器核技术广泛用于便携式通信产品、手持运算、多媒体和嵌入式解决方案等领域,已成为RISC 标准。 ARM公司是一家既不生产芯片(fabless)也不销售芯片(chipless)的公司,它通过出售芯片技术授权,建立起新型的微处理器设计、生产和销售商业模式。更重要的是,这种商业模式取得极大的成功,采用ARM技术IP核的微处理器遍及各类电子产品:汽车、消费电子、成像、工业控制、海量存储、网络、安保和无线等市场,ARM技术几乎无处不在。 ARM公司是一家知识产权(IP)供应商,它与一般的半导体公司最大的不同就是不制造芯片且不向终端用户出售芯片,而是通过转让设计方案,由合作伙伴生产出各具特色的芯片