·多参考手册

·协议USART、I2C、SPI

  1. 嵌入式系统跟ARM处理器

嵌入式系统:

专用计算机系统,以应用为中心,软硬件可裁减

组成:

硬件:(MPU)微处理器、存储器、I/O接口、输入输出设备。

软件:Embedded RTOS、应用软件。

最小系统:微控制器(MCU)、微处理器(MPU)、电源模块、时钟模块(如心脏)、复位电路、Flash(闪存,存储程序和数据,掉电后数据不会丢失)、RAM(随机访问的存储器,存放程序运行过程中产生的临时数据,安排用户数据(主要是全局变量)和堆栈空间)、JTAG(烧录)。

外设:USB、LCD、键盘、以太网、串口、CAN、传感器、辅助存储器、电机

软件结构:

  1. 不带OS(操作系统)软件结构:应用程序(Application)、设备驱动程序(Driver)、硬件(单片机)

  1. 带OS软件结构:应用、标准接口函数(API)、实时操作系统(RTOS)、硬件抽象层((HAL)BSP、驱动)、硬件(微处理器)

硬件特性:

体积小、集成效率高

面向特定应用

功耗低、电磁兼容性好

软件特性:

嵌入式软件的开发与硬件紧密相关。

软件代码要求高效率和高可靠性。

软件一般固化在Flash或Rom(只读存储器,可放程序和数据)中。

软件系统具有高实时性。

一般采用C语言开发。

嵌入式系统设计流程:

1.需求分析

2.体系结构设计

3.硬件的设计、制作及测试

3.软件的设计、实现及测试

4.系统集成

5.系统性能测试及可靠性测试

6.工业试运行及生产文件准备

7.项目总结

嵌入式微处理器的特点:

性能好

特定的功能

封装体积小

能耗低

可靠性高

ARM:体系结构(Advavnced RISC Machine 高级精简指令集机器)

ARM英国的芯片设计公司,不卖芯片但卖芯片设计方案,卖版权。

精简指令集是降低功耗的关键。指令可以在一个时钟周期内完成。复杂性由编译器解决。

CISC复杂指令集——传统计算机,笔记本、台式电脑。指令需要多个时钟周期完成。复杂性由机器解决。

ARM:

通用的32位(寄存器的位数,二进制)RISC处理器;

功耗很低的高性能处理器

特点:

体积小、低功耗、低成本、高性能;

支持Thumb(16位)和ARM(32位)双指令集;(拓展:Thumb-2指令集混合了16位跟32位指令集)

大量使用寄存器,指令执行速度更快;

大多数数据操作都在寄存器中完成;

寻址方式灵活简单,执行效率高;

指令长度固定;

对操作系统的支持广泛。

ARM Cortex-A系列:ARM Cortex TM-A系列为应用型处理器

ARM Cortex-R为实时处理器:要求可靠性、高可用性、容错功能、可维护性和实时响应的嵌入式系统提供高性能计算解决方案。

ARM Cortex™-M处理器系列是一系列可向上兼容的高能效、易于使用的处理器,帮助开发人员满足将来的嵌入式应用的需要。用更低的成本提供更多功能、不断增加连接、改善代码重用和提高能效。

DSP:数值信号处理

DSP是数字信号处理的缩写,是一种用数字技术对模拟信号进行处理的方法。它包括了一系列的数学算法和数字信号处理器的硬件实现,可以用于音频、视频、图像、雷达、通信等各种领域的信号处理。

数字信号处理的基本步骤包括采样、量化、编码、数字滤波、数字变换等。在信号采样后,可以使用数字滤波器对信号进行滤波,提取出需要的信息。数字变换可以将信号从时域转换到频域,例如傅里叶变换和小波变换等。这些数字技术可以对信号进行处理、分析、合成、压缩等,为信号处理提供了强大的工具和方法。

Cortex-M3内核:

STM32F103RCT6 XXX

ST:ST公司

M32:基于arm的32位处理器

F:通用

103:性能线

R:引脚个数(R:64,V:100,Z :144)

C:Flash的大小(C:256Kbytes,D:384Kbytes,E:512Kbytes);

T:LQFP封装(还有H:BGA封装)

6:-40~85℃工作温度(7:-40~105;)

看门狗分IWDG(独立看门狗)、WWDG(窗口看门狗):

确保程序跑飞时能自动重启的外设,其作用类似于一个定时器。其主要功能是在系统出现故障或崩溃时自动重启系统,以保证系统的稳定性和可靠性。

具体来说,看门狗是通过定时计数器来监视系统的运行状态。当系统正常运行时,程序会周期性地喂狗,即重置计数器的计数值。如果系统发生了故障或崩溃,程序就无法再喂狗,计数器就会超时,看门狗就会发出复位信号,导致系统自动重启。

64引脚51个IO口

存储器容量:256K FLASH,48K SRAM(静态刷新)

芯片资源:时钟,复位和电源管理

1.8~3.6V电源和IO电压

上电复位,掉电复位和可编程的电压监控

强大的时钟系统

4~16M的外部高速晶振

内部8MHz的高速RC振荡器

内部40KHz低速RC振荡器,看门狗时钟

内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到

外部低速32.768K的晶振,主要做RTC时钟源

低功耗模式

睡眠,停止和待机三种低功耗模式

可用电池为RTC和备份寄存器供电

AD模数转换

3个12位AD(多达16个外部测量通道)

内部通道可以用于内部温度测量

内置参考电压

DA数模转换

2个12位DA数模转换器

DMA(Direct Memory Access 直接存储器存取)

12个DMA通道

支持外设:定时器,ADC,SDIO,I2S,SPI,I2C和USART

定时器:多达11个定时器

4个通用定时器

2个基本定时器

2个高级定时器

1个系统定时器

2个看门狗定时器

通信接口:多达13个通信接口

2个I2C接口

5个串口

3个SPI接口

1个CAN2.0

1个USB UTG

1个SDIO

--------------------------------------------------------------------------------

题目:

  1. 什么是嵌入式系统?

嵌入式系统(Embedded System)是一种专门设计用于特定应用的计算机系统,通常包括处理器、存储器、输入/输出接口、通信接口和软件等组成部分。它们通常被嵌入到其他系统或产品中,以执行特定的功能。

嵌入式系统的应用非常广泛,包括消费类电子产品(如智能手机、数码相机、电视机、音响等),汽车电子、医疗设备、军事装备、航空航天、工业自动化等领域。

  1. 最小系统由哪些部分组成?

微控制器(MCU)、微处理器(MPU)、电源模块、时钟模块(如心脏)、复位电路、Flash(闪存,存储程序和数据,掉电后数据不会丢失)、RAM(随机访问的存储器,存放程序运行过程中产生的临时数据,安排用户数据(主要是全局变量)和堆栈空间)、JTAG(烧录)。

  1. 什么是ARM?

体系结构(Advavnced RISC Machine 高级精简指令集机器)也可以说是英国的芯片设计公司,不卖芯片但卖芯片设计方案,卖版权。

  1. Cortex-A 系列用于什么产品?

Cortex-A 系列主要用于高性能应用,例如智能手机、平板电脑、可穿戴设备、智能电视等等。

  1. Cortex-R 系列用于什么产品?

Cortex-R 系列主要用于实时应用,例如汽车电子、航空电子、医疗设备、工业控制等等。

  1. Cortex-M 系列用于什么产品?

Cortex-M 系列主要用于低功耗、低成本的嵌入式应用,例如智能家居、传感器、医疗设备、工业自动化等等。

  1. Cortex-M3 的体系结构是什么?

处理器核心:Cortex-M3采用32位ARMv7-M指令集,具有高性能、低功耗的特点。

存储器:Cortex-M3具有多种存储器,包括32位存储器、16位存储器和8位存储器。其中,32位存储器包括SRAM和Flash,可以支持最大128MB的存储容量。

总线接口:Cortex-M3支持32位AMBA总线,包括AHB总线和APB总线。

中断控制器:Cortex-M3采用NVIC(Nested Vectored Interrupt Controller)中断控制器,可以处理多达240个中断源。

时钟和复位控制器:Cortex-M3具有时钟和复位控制器,可以控制系统的时钟和复位。

DMA控制器:Cortex-M3还具有DMA(Direct Memory Access)控制器,可以实现高速数据传输。

调试接口:Cortex-M3支持JTAG和SWD调试接口,可以方便地进行调试和开发。

总体来说,Cortex-M3的体系结构具有高性能、低功耗、多种存储器、灵活的总线接口、强大的中断控制器、高速的DMA控制器和方便的调试接口等特点。

  1. STM32F103RC 的内核是什么?

STM32F103RC的内核是Cortex-M3,它是STMicroelectronics公司基于ARM Cortex-M3内核设计的一款32位微控制器。Cortex-M3内核是ARM公司推出的针对嵌入式应用的处理器核心,具有高性能、低功耗和低成本的特点。该内核支持Thumb-2指令集,可以在高性能和代码密度之间进行平衡,同时还支持硬件分段和分页,以提高系统的可靠性和安全性。STM32F103RC微控制器集成了丰富的外设和存储器,包括多种通信接口、模拟数字转换器、定时器、闪存存储器等,广泛应用于工业控制、汽车电子、消费电子、医疗设备等领域。

  1. 每个芯片一般包含哪几个层次的型号/版本号?

厂商标识:芯片的制造商标识,例如ST、NXP、TI等。

系列型号:芯片所属的系列型号,例如STM32F4、LPC1768等。

芯片型号:具体的芯片型号,例如STM32F407VG、LPC1768FBD100等。

封装类型:芯片的封装类型,例如LQFP、BGA等。

温度等级:芯片的温度等级,例如商用级(0℃ ~ 70℃)、工业级(-40℃ ~ 85℃)、车规级(-40℃ ~ 105℃)等

批次/版本号:芯片生产批次或版本号,用于追溯芯片的生产和质量控制。

  1. mcuisp 工具烧录需要什么文件?

目标芯片的.hex、.bin或者.elf文件:即待烧录的程序文件,由编译器生成。

烧录器驱动程序:由芯片厂商提供的USB转串口驱动程序。

烧录脚本:一般为Python脚本,用于实现烧录器和目标芯片之间的通信和数据传输。

  1. J-Link 烧录需要什么文件?

目标芯片的.hex、.bin或者.elf文件:即待烧录的程序文件,由编译器生成。

J-Link驱动程序:由SEGGER公司提供的USB转JTAG调试接口驱动程序。

J-Link调试器软件:由SEGGER公司提供的调试器软件,用于设置调试器和目标芯片之间的连接方式和参数,以及进行程序烧录、调试和测试等操作。

  1. Keil 可以烧录程序到开发板吗?

Keil可以烧录程序到开发板。Keil是一款著名的嵌入式开发工具,支持多种芯片架构和开发板,包括ARM Cortex-M、Cortex-A/R、8051、C166等,可以进行程序编译、调试、仿真和烧录等操作。

  1. 由.axf 文件生成 .bin 文件的命令?

fromelf --bin -o 输出文件名.bin 输入文件名.axf

STM32F103RC相关推荐

  1. stm32f103rb升级到stm32f103rc时代码移植注意事项

    1.由于stm32f103RC/RD/RE系列单片机芯片级的bug,代码中用到重映射相关函数的地方,在其后面添加__HAL_AFIO_REMAP_SWJ_NOJTAG();语句,如下所示: __HAL ...

  2. 基于STM32F103RC的OneNET云端智能家居环境控制系统

    整体描述 项目基于STM32F103RC开发板,软件使用keil5实现系统程序开发,实现一套具有一定交互水平的云端智能家居环境控制系统,通过传感器采集温湿度.光照强度.环境分贝数据上传OneNET云端 ...

  3. STM32F103RC驱动CH375B模块读写优盘扇区数据

    之前做毕设买了CH375B模块,一直没好好用过.现在想把这个模块用起来.程序参考的振南的51例程<U盘扇区读写[IO方式]> 和正点原子的例程模板,只要把最底层的扇区读写测试通过,znFA ...

  4. 西门子224XP源码 基于STM32F103RC 支持200软件(STEP7MicroWINV4)下载、上传程序块

    西门子224XP源码 基于STM32F103RC 支持200软件(STEP7MicroWINV4)下载.上传程序块.数据块及系统块:支持监视程序(程序状态监视.状态表监视):支持2/3级密码保护功能. ...

  5. keil5 配置 stm32f103rc 软件仿真

    转载于:https://www.cnblogs.com/sshbit/p/10307328.html

  6. TM1638快速开发教程(基于正点原子mini板stm32f103rc)

    参加电赛,指导老师给了块TM1638模块,商家给的是C51驱动代码,改写成32驱动代码. tm1638.h文件 #ifndef __TM1638_H #define __TM1638_H#define ...

  7. STM32F103RC 2路ADC 采集显示,水位传感器、MQ2

    DMA 2路ADC采集 1.水位传感器和MQ2简介 1.1.水位传感器: 1.2.MQ2 2.使用代码   自己做小项目的时候需要测量水位和MQ2空气质量,使用的是DMA配合ADC进行采集,虽然我只是 ...

  8. 基于STM32F103RC硬件IIC驱动18位AD MCP3421驱动开发

    基于STM32 HAL库硬件IIC 驱动18位AD MCP3421 最近用到小信号采集,发现关于该芯片的STM32 HAL 库驱动比较少.就写了一个基于STM32F103RCT6测试Demo .在此分 ...

  9. 教你如何将正点原子stm32f103rc型号的板子程序改成stm32f03C8T6最小系统板

    相信很多一样初学者在这方面不懂得,接下来像我这样配置就好: 第一步:这里选好我们的C8T6最小系统板  第二步:这里建议改成8  第三步:这里记得改成"M"  最后就可以找到我们需 ...

最新文章

  1. c语言程序设计歌手大奖赛,C语言二维数组怎么做:设计青年歌手参加歌曲大奖赛计分系统: 共...,怎样用c语言程序设计? 青年歌手参加歌曲大奖赛,有10个评委...
  2. DCGAN生成cifar10, cifar100, mnist, fashion_mnist,STL10,Anime图片(pytorch)
  3. 关于ensp配置出现 Error: Please renew the default configurations.
  4. Eclipse中手动清理项目缓存,
  5. 联名款Redmi K40游戏增强版今日揭晓:神秘女主粉色头发吸睛
  6. ECShop 自定义函数以及调用
  7. SENT (Single Edge Nibble Transmission) 协议 接口
  8. Proteus仿真51单片机
  9. 2022年中职网络空间安全国赛竞赛题解析仅代表自己的建议——2022年中职网络安全国赛竞赛试题1解析
  10. 怎么打开.pos文件
  11. 参数validator/valid校验用法(通俗)
  12. 前后端分离时ajax发送请求时后端能接送,但是前端的response为空时
  13. Java中将科学记数法字符串转换成数字字符串
  14. 当滑雪这项世界最古老的运动遇上AI
  15. 管晓宏院士谈工业数据共享和分类分级管理
  16. Java、JSP企业内部邮件系统
  17. 洛谷P2585[ZJOI2006]三色二叉树(树形DP)
  18. 基础篇第一版---Linux 档案与目录管理 lt;摘自鸟哥的私房菜gt;
  19. javascript运算符_返回基础:JavaScript运算符,条件和函数
  20. 用python3写一段代码提取pdf和ofd格式发票内容并json格式化输出

热门文章

  1. 拼多多资深程序员带你了解 ”砍一刀“的设计与实现
  2. 【Servlet篇】Response对象详细解读
  3. http authorization 基本认证
  4. Linux signal、sigaction的使用总结
  5. 区块链研究生专业_“区块链大数据赋能低碳发展”高端研讨活动 在增城低碳总部举行...
  6. 元气骑士+蒲公英联机平台联机教程
  7. 阻抗匹配四种处理方式
  8. 【Novel AI】使用绘画AI构建unity游戏资源
  9. 牛顿法求解无约束最优化问题
  10. fgets 函数详解