嵌入式系统

嵌入式wince基础知识

醉酒当歌 提交于 2020-02-17 14:43:59
  因项目需要,用到手持设备的开发,手持设备搭载的是wince系统,之前多多少少接触过嵌入式编程,一直以为自己的处女开发是在Linux,没想到还是没逃出微软的“魔掌”,不开心归不开心,项目还得继续,先学习嵌入式wince的基本知识吧,为以后的开发打好基础。 什么是嵌入式系统    我现在觉得有些概念经过一段时间的沉淀,进进出出大脑多次,就能体会到一点点的不一样的味道,就像嵌入式系统,之前看一些定义,一点感觉都没有,理解不能,囫囵吞枣的感觉不好,现在有一些时间了,也接触过几个小项目,慢慢的就觉得嵌入式系统就是针对通用系统(PC)提出的针对特定应用而存在的概念,这些系统都突出某些功能,而对其他功能没有需求,甚至根本就不需要,比如我的电脑,通用型的,几乎各个功能模块它都有,显示,键盘,办公软件,等等面向的是大众人群,相对的嵌入式可能就只注重莫一方面的功能,如只注重声音播放(MP3),只需要通信(功能机)等等,所以在mp3里面根本就不需要显卡啊,在功能机上就根本不要网卡啊,这也是可裁剪的官方用词吧。   嵌入式系统分为软件和硬件部门,两个部分都是可裁剪的,硬件可以定制,同样软件也是可以定制,嵌入式操作系统亦是,比如不需要某个module。wince是嵌入式操作系统的一种,另外一种是linux,自己无知,肯定还有其他的,就知道这两个。wince裁剪一下可以出来很多知名的其他系统,但都是变种

什么是真正的实时操作系统(转)

余生颓废 提交于 2020-02-16 17:41:20
转载链接: https://blog.csdn.net/zhourui1982/article/details/5282361 做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks,实际应用后回过头来看理论,才发现自己理解的肤浅,也发现CSDN上好多同学们都对实时、嵌入式这些概念似懂非懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platform team封装好的API。所以在此总结一下这些概念,加深自己的理解,同时也给新手入门,欢迎大家拍砖,争取写个连载,本文先总结一下实时的概念,什么是真正的实时操作系统? 1. 首先说一下实时的定义及要求: 参见 Donal Gillies 在 Realtime Computing FAQ 中提出定义:实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。 http://www.faqs.org/faqs/realtime-computing/faq/ 一个实时操作系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。请注意,必须要满足确定性,而不是要求速度足够快!例如,如果使用足够强大的CPU,Windows在CPU空闲时可以提供非常短的典型中断响应,但是

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

笑着哭i 提交于 2020-02-08 23:48:52
痞子衡嵌入式半月刊: 第 1 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly ),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 唠两句 今天是农历庚子鼠年正月十五,传统元宵佳节,但因为 2019-nCoV 肺炎疫情不减,节日气氛平淡了些。 原计划这个半月刊能按二十四节气交节之日准时发布,但这第一期就没能准时,离立春已经过去4天了,也罢,规矩一开始就破了,底下发布时间压力上也就小了。 大家都知道痞子衡东家是飞思卡尔/恩智浦半导体,所以这第一期咱偏袒一下东家,多给恩智浦相关产品一些特写。 本期共收录 3条资讯、3个项目、2个工具,希望对你有帮助! 资讯类 1、划时代 1GHz 主频 MCU 恩智浦 i.MXRT1170 有望 2020 年下半年面市 2019年10月2日恩智浦半导体隆重发布了 i.MXRT1170,这是一款划时代的 MCU。因为它,单片机首次迈入 1GHz 主频大关,这对于嵌入式从业人员来说,是个值得铭记的时刻。 这款性能炸裂的 MCU 大家都非常期待,在各大嵌入式技术交流群里,它也被频繁提及和讨论,它什么时候能供货是大家最关心的问题。据目前进展来看,i.MXRT1170 有望今年下半年开始供货

腾讯嵌入式系统tos移植到正点原子阿波罗F429

拜拜、爱过 提交于 2020-01-26 02:58:36
1.前言 STM32CubeMX初始化,点击跳转 cubeMX的初始化配置我就放在上个文章了,这里省略掉. 修改修改一点 2.下载tos源码 点击跳转 3.移植 在项目文件夹下新建 tos 文件夹.并把源码下的 arch , kernel , osal 的三个文件夹复制到 tos 文件夹下面. 3.1添加tos文件 3.2添加头文件目录 3.3 新建TencentOS tiny系统配置文件 tos_config.h # ifndef _TOS_CONFIG_H_ # define _TOS_CONFIG_H_ # include "stm32l0xx.h" // 目标芯片头文件,用户需要根据情况更改 # define TOS_CFG_TASK_PRIO_MAX 10u // 配置TencentOS tiny默认支持的最大优先级数量 # define TOS_CFG_ROUND_ROBIN_EN 0u // 配置TencentOS tiny的内核是否开启时间片轮转 # define TOS_CFG_OBJECT_VERIFY_EN 1u // 配置TencentOS tiny是否校验指针合法 # define TOS_CFG_TASK_DYNAMIC_CREATE_EN 1u // TencentOS tiny 动态任务创建功能宏 # define TOS_CFG_EVENT_EN

嵌入式系统自动寻迹小车报告

不想你离开。 提交于 2020-01-17 13:10:09
《嵌入式系统实践》报告 项目名称:自动循迹小车 专 业:自动化 班 级:183班 学 号:2420182344 姓 名:朱明 电气工程与自动化学院 - 《嵌入式系统实践(2)》考查题目 类 别:专业任选 学 分:2 适用专业:自动化专业 一、考查方式 1.分组设计制作基于嵌入式系统的智能循迹小车。 二、考查的目的和要求 通过嵌入式系统实践,能更好地理解所学的理论知识,培养学生综合运用所学的基础与专业知识和技能去分析、解决工程实际问题;培养学生掌握嵌入式系统设计的一般规律和方法;培养学生掌握模拟电子电路、数字电子电路和嵌入式系统设计方法,培养学生掌握软件设计与开发的能力。通过该系统设计,使学生熟悉系统设计流程,提高学生的实际设计能力。 三、设计内容 主要内容与要求包括以下部分: ⑴.能够按划定的黑线进行自动行驶。 ⑵. 能够显示行驶速度、时间、距障碍物距离等信息。(选作) ⑶.能够自动进行避障行驶。(选作) 四、设计步骤与方法 ⑴.搭建循迹小车硬件电路。 ⑵. 编写循迹小车的驱动程序。 ⑶.软硬件综合测试。 ⑷. 撰写设计报告。 五、设计说明书与图纸 系统由硬件电路和软件程序两部分组成。硬件电路包括:MCU、时钟电路、复位电路、电源电路、电机驱动电路、红外检测电路、超声波收发电路(选作)、显示电路(选作)。软件程序包括:主程序、路径检测程序、电机驱动程序、中断服务子程序、计算距离程序

嵌入式系统概念-1

梦想与她 提交于 2020-01-16 05:24:19
1、嵌入式系统是专一的、专用的;例如Windows是通用的,所以Windows并不是嵌入式系统 2、嵌入式系统是以应用为中心的,组成:硬件+软件 3、嵌入系统的实时性:在规定的时间内完成规定的任务 4、计算机目前主流的结构:冯诺依曼;哈佛结构 5、API用户编程接口:可以形象的理解为大学的门卫 6、最小系统:能够完成一系列动作操作的最基本的元器件(模块);已经是最精简的组成部分,无法再少了 7、操作系统的方式:轮循式,中断式。中断:由硬件引起的;异常:软件引起的 8、共享资源:可以被多个任务使用,但是不能被同时使用(互斥) 9、线程:完成任务的最小单位;进程:封装的最小单位——由cpu和内存分配的 10、RAM随机存储器——内存;ROM只读存储器 11、Linux利用属性来区分文件;PATH系统变量,就是用来搜索整个路径的(具体的可以参考百度了解) 来源: CSDN 作者: 许多逗 链接: https://blog.csdn.net/qq_41274875/article/details/103989174

嵌入式系统常用术语

百般思念 提交于 2020-01-10 06:56:32
嵌入式系统常用术语 硬件相关 封装 印刷电路板 PCB 可读写随机存储器RAM和只读存储器ROM 模拟量和开关量 通信相关 并行通信 串行通信 串行外设接口(SPI) 集成电路互连总线接口(I2C) 通用串行总线接口(USB) 控制器局域网总线接口(CAN总线) 背景调试模式(BDM) 边界扫描测试协议(JTAG) 串行线调试(SWD) 软件相关 通用输入/输出 A/D转换 脉冲宽度调制器 看门狗 液晶显示(LCD) 发光二极管(LED) 实时操作系统(RTOS) 硬件相关 封装 用塑料,金属或陶瓷材料等把集成电路封在其中,保护芯片,使芯片与外部世界相连。 印刷电路板 PCB 组装电子元件的基板,电子原理图的实物化。提供集成电路等各种元器件固定,装配的支持。 可读写随机存储器RAM和只读存储器ROM RAM: 动态可读写随机存储器(DRAM) 由一个MOS管组成一个二进制存储位,每隔一段时间控制刷新信息,给其充电。 价格低,控制繁琐,接口复杂。 静态可读写随机存储器(SRAM) 一般由四个或六个MOS管构成一个二进制位,通电工作时,不需要刷新,一般用于CPU存。 ROM: 数据可以读出,但是不可以修改。存储一些固定不变的信息。 可分为:固定ROM,可编程ROM(PROM),可擦除ROM(EPROM),闪存flash。 模拟量和开关量 模拟量: 指时间连续数值也连续的物理量,如温度

嵌入式系统开发期末复习

▼魔方 西西 提交于 2020-01-07 06:24:09
一、简答题 1.什么是嵌入式系统?有什么特点?应用在哪些领域? 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 特点:专用性,嵌入性,计算机系统。 应用领域:工业制造、过程控制、通信、仪器、仪表、汽车、轮船、航空等领域。 2.嵌入式系统组成?嵌入式处理器如何分类?典型的嵌入式处理器有哪些? 组成:嵌入式处理器、外围设备、嵌入式操作系统、应用软件等。 分类:嵌入式微处理器,嵌入式微控制器,嵌入式DSP处理器,SoC片上系统。 典型嵌入式处理器:arm,x86处理器,PowerPC处理器 3.操作系统概念,什么是EOS?常用的EOS有哪些? 嵌入式操作系统(EOS)是一种支持嵌入式系统应用的操作系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器。 常见的EOS:Linux,uLinux,WinCE等。 4.嵌入式系统开发主要步骤和流程 5.哈佛结构&&普林斯顿结构 哈佛结构是一种将程序中指令和数据分开存储的存储器结构,是一种并行存储体系结构。 普林斯顿结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构。 6.CISC&&RISC及特点对比 RISC(精简指令计算机)和CISC(复杂指令集计算机)是两种不同的CPU架构。 CISC

当前火爆的嵌入式领域,为什么选择C语言作为开发语言?了解一下!

廉价感情. 提交于 2019-12-28 09:05:33
C语言和嵌入式C编程有什么区别?其区别在于嵌入式的C语言是跑在嵌入式的开发板上的,CPU和电脑不一样,所以编译器也是不一样的,生成的可执行程序也是不一样的。选择嵌入式开发语言归结于嵌入式系统开发的特点上。 1、嵌入式系统不是PC系统,是另一种独立操作系统 它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程,有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 2、嵌入式微处理器是嵌入式系统控制核心 嵌入式微处理器主要功能有四大点: a、对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。 b、嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统,如需要功耗只有mW甚至μW级。 c、具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已经模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。 d、可扩展的处理器结构,以便能最迅速地开发出满足应用的最高性能的嵌入式微处理器。 3、嵌入式系统有别于其他操作系统有很大不同 最大的核心竞争力有六大特点:

嵌入式系统烧写uboot/bootloader/kernel的一般方法

只谈情不闲聊 提交于 2019-12-24 03:54:02
嵌入式系统烧写uboot/bootloader/kernel的一般方法 本文介绍了在嵌入式系统中烧写uboot/bootloader/kernel 的一般方法,以及如果uboot或者内核出现错误, www.2cto.com 引导失败等情况时如何重新烧写uboot/kernel. 烧写uboot/kernel的方式一般有两种,一种是在linux本身(shell中),直接将uboot/kernel的影像文件(二进制文件)使用操作烧写flash的命令烧写到flash特定分区上, 另一种是在uboot界面上,通过配置serverip,ipaddr,使用tftp命令 下载 uboot/kernel到flash上 例子如下: //一,在linux的shell中烧写uboot/kernel mtd write命令是自定义的烧写flash命令。 //烧写uboot ,/dev/mtd0 是bootloader 的特定分区 mtd write u-boot.bin /dev/mtd0 //烧写kernel, mtd1 是kernel的特定分区 mtd write vmlinux.elf /dev/mtd1 //重启 reboot //二,在uboot界面中烧写uboot/kernel,以kernel为例子 //在bootloader 界面中 //本机uboot 的ip地址 setenv ipaddr