系统

嵌入式是什么呢?

嵌入式开发就是指在嵌入式操作系统下进行开发,常用的嵌入式操作系统有FreeRtos,ucos,linux,android等。与单片机开发最大的不同就是裸跑与跑系统的区别。嵌入式系统的物理结构关系是从属的关系,嵌入式系统在控制逻辑关系上却是起主导的关系,嵌入式系统被嵌入安装在目标应用系统内,是控制目标应用系统运行的逻辑处理系统。嵌入式系统尽管可以用不同的方式构建,一旦构建完成之后,嵌入式系统就是一个专用系统。在专用系统中,可编程器件的软件可以在系统构建过程中植入,也可以在器件制造过程中直接生成,以降低制造成本。控制逻辑复杂的单片机会需要操作系统软件支持;控制逻辑简单的嵌入式系统也可以不用操作系统软件支持。嵌入式系统是当前最热门最有发展前途的IT应用之一,应用嵌入式系统的设备通常硬件资源有限、对成本很敏感、对实时响应要求高。

STM32CudeMX

STM32CubeMX是ST意法半导体的一个图形化的工具,也是配置和初始化C代码生成器,也就是自动生成开发初期关于芯片相关的一些初始化代码。它可以减轻开发的时间和费用。STM32CubeMX集成了一个全面的软件平台,支持STM32每一个系列的MCU开发。这个平台包括 STM32Cube HAL(一个 STM32 的抽象层集成软件,确保STM32 系列最大的移植性)。再加上兼容的一套中间件(RTOS、USB、TCP/IP 和图形),所有内嵌软件组件附带了全套例程,STM32CubeMX的特性有:

1.直观的选择 STM32芯片,选型神器。

2.STM32芯片图形化配置有:自动处理引脚冲突、动态设置确定的时钟树、可以动态确定参数设置的外围和中间件模式和初始化、功耗预测等。

3.C代码工程生成器覆盖了STM32 芯片初始化编译软件,如IAR、KEIL、GCC。

4.可独立使用或作为 Eclipse 插件使用。

Proteus8.8

Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件,它具有EDA工具软件的仿真功能,具有单片机及外围器件的仿真功能,是比较好的仿真单片机及外围器件的工具,早已受到单片机爱好者、单片机教师、单片机开发应用的科技工作者的青睐。Proteus是著名的仿真软件,可以从原理图布的代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,实现真正的从概念到产品的完整设计。Proteus是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10~30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,Proteus8.0以后版本支持STM32芯片仿真,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil等多种编译器。

话不多说开始入门吧!

打开STM32CubeMX选择单片机型号,stm32f103cb。

选型

配置单片机I/O口,PA0,PA1,PA2为推挽输出,PB0,PB1为下拉输入。

I/O口配置

配置FreeRtos系统。内核设置、内存管理设置、钩子函数相关定义、运行时和任务统计信息收集、共同程序相关定义、软件计时器定义、中断嵌套行为配置。

FreeRtos配置

添加FreeRtos任务,defaultTask、myTask02、myTask03、优先级配置、堆栈大小配置、入口函数配置、代码生成选项、等任务参数配置。

添加任务

设置完成就可以生成代码了,设置工具链/IDE--MDK-ARM V5、路径、高级设置选择使用HAL库或是LL库、配置时钟等参数。

生成代码

打开Keil uVision5--MDK-ARM V5工程,这是一个能用的,完整的工程文件。

打开工程

工程目录有 ARM-MDK应用程序、用户程序、HAL库驱动、外设驱动、FreeRtos中间文件。

工程目录

可以看见已经创建好了3个任务,defaultTask、myTask02、myTask03。以及配置好了任务参数。

创建任务

可以看见已经完成了I/O口的初始化配置。

I/O口初始化

我们只要在任务中添加任务代码即可!方便至极。

添加任务代码

完成之后,就可以编译生成执行文件.hex

添加任务代码

打开Proteus仿真软件,选择要用到的器件BUTTON、Resistors、LED-GREENSTM32F103C6,搭建电路。

stm32器件选择

搭建电路

导入单片机执行文件仿真。

仿真

好了,完成了,恭喜你已成功入门了嵌入式开发。

结语:

嵌入式不是纯软件技术,也不是纯硬件技术,是一个特定的硬件环境上开发与构建特定的可编程软件系统的综合技术,是在嵌入式系统的发展中应运而生的,是依附于嵌入式系统,并推动嵌入式系统不断向前发展的核心动力。嵌入式是一种专用的计算机系统,作为装置或设备的一部分,是一个控制程序存储在ROM中的嵌入式处理器控制板,所有带有数字接口的设备都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是单个程序实现整个控制逻辑。

(后续开发如遇到问题欢迎留言讨论哦.................)

esp32 怎么分配freertos 堆栈大小_嵌入式开发入门-从STM32CudeMX、FreeRtos、Proteu仿真开始...相关推荐

  1. esp32 怎么分配freertos 堆栈大小_详解STM32单片机的堆栈

    学习STM32单片机的时候,总是能遇到"堆栈"这个概念.分享本文,希望对你理解堆栈有帮助. 对于了解一点汇编编程的人,就可以知道,堆栈是内存中一段连续的存储区域,用来保存一些临时数 ...

  2. esp32 怎么分配freertos 堆栈大小_深度解剖~ FreeRtos阅读笔记2 任务创建、内核链表初始化...

    2.FREERTOS任务创建.内核链表初始化 硬件环境:cortex m4 FreeRTOS版本:v8.0.1 今天开始阅读freertos,阅读同时做下笔记,等哪天碰到移植问题再翻出来看看. 2.1 ...

  3. c语言改变cmd 字体大小_嵌入式开发中常见3个的C语言技巧

    原文:https://www.cnblogs.com/CrazyCatJack/p/6080266.html 1.指向函数的指针 指针不光能指向变量.字符串.数组,还能够指向函数.在C语言中允许将函数 ...

  4. 嵌入式开发入门之经典 ARM开发板

    嵌入式开发入门之经典 开始进入嵌入式世界,真是一头雾水,不知道如何入手!也不知道该如何学习,学习什么,最近从网上转载这篇文章,对我启发很大,对于初始进入嵌入式的人们很有帮组,好多嵌入式大侠都说这是入门 ...

  5. STM51嵌入式开发入门软件安装-Keil、stc、驱动

    STM51嵌入式开发入门软件安装-Keil.stc.驱动 STM51嵌入式开发入门软件安装-Keil.stc.驱动 1 Keil安装 1.1 百度进入官网 1.2 选择C51,点击后需要填的信息随便填 ...

  6. RISC-V嵌入式开发入门篇2:RISC-V汇编语言程序设计(中)

    原文出处:https://mp.weixin.qq.com/s/3RHss3vhfK004-TtM8fpeA 随着国内第一本RISC-V中文书籍<手把手教你设计CPU--RISC-V处理器篇&g ...

  7. 设置线程堆栈大小_哇擦,传说中的堆栈溢出和快速排序

    stack overflow 堆栈溢出和快速排序这两个概念对开发人员来说并不陌生,但是通知都只是听说过,真正开发过程中却很少会遇到.我也是敲代码好些行后非常有幸撞上了,而且还是两个一起出现的,这其中过 ...

  8. uml+oopc嵌入式c语言开发精讲_嵌入式开发中更接近底层的汇编与C语言

    分享本文,介绍下更接近硬件底层的C语言与汇编,解释 CPU 如何执行代码. 高级语言与低级语言 学习编程其实就是学习与计算机交流的语言.因为计算机不理解人类语言,通过编译器把人类写的代码转成二进制代码 ...

  9. 嵌入式cmp指令的判断标志位_嵌入式开发的基础知识

    搜索了一些有关于对嵌入式开发的一些基础知识,分享给大家! 1.ARM中一些常见英文缩写解释 MSB:最高有效位: LSB:最低有效位: AHB:先进的高性能总线: VPB:连接片内外设功能的VLSI外 ...

最新文章

  1. cmake 添加头文件目录,链接动态、静态库
  2. 网络编程学习笔记(基本套接口选项)
  3. Linux:网络基础配置
  4. Perl一行式:文本编解码、替换
  5. 冒险者传说pc6java_冒险者传说
  6. Linux之RPM 软件包管理
  7. 14_clickhouse,kafka引擎,kafka消息到ClickHouse的MergeTree引擎
  8. htc m8 wp android,区别仅系统?WP/Android两版HTC One M8对比
  9. 谈谈一些有趣的CSS题目(十七)-- 不可思议的颜色混合模式 mix-blend-mode
  10. PHP+Mysql高仿百度知道签到源码演示与下载
  11. [MSSQL]也说SQL中显示星期几函数
  12. Cocos2d-x学习之创建Android工程和编译
  13. VRRP技术原理与注意点
  14. jvm中的新生代Eden和survivor区
  15. paip.dom4j中 selectSingleNode 或selectNodes获取不到节点的原因总结
  16. CatBoost快速入门
  17. 电子计算机上的off是什么意思,计算器上off是什么意思
  18. 目前大多数计算机工作原理采用的是,计算机应用基础复习题2016有答案
  19. 一个简单的网页制作作业,宠物html静态网页制作成品代码(学生网页设计作业源码)
  20. mysql模拟大量数据

热门文章

  1. SAP BOPF draft table automatic deletion
  2. Appointment get entity debug
  3. nodejs部署神器pm2的使用体验
  4. product thumbnail区域未能显示的原因分析
  5. SAP云平台webIDE UI5应用的Application Status菜单实现细节
  6. wordpress的API end point
  7. ABAP Development Tools的语法增强
  8. Equipment download - post processing
  9. 如何获得SAP CRM SalesOrder里involved party的详细信息
  10. Update operation on extension field created by AET