2019-09-14 11:08:09 weixin_42067873 阅读数 80
  • 16天入门物联网操作系统——RT-Thread

    课程概述: RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成, RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过13年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、 CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A,  MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

    835 人正在学习 去看看 郭占鑫

一、单片机程序执行流程:

 1、startup_stm32f10x_md.s启动系统
 2、system_stm32f10x.c进行系统初始化
 3、最后通过引导程序将程序引导至主函数开始执行

二、keil创建工程:

1、首先,创建项目文件,在此路径下创建两个文件夹project(放工程文件)、Device(放外设文件);此外加入库目录Libraries(存放需使用的库文件)

2、改标签为自己项目对应的名字,此处为(ARM处理器),并在标签下加入相应的组

CMSIS组: cortex标准文件
Startup组:存放系统启动汇编文件
StdPeriph_Driver组: 存放标准外设的驱动文件(.c)
User组:存放用户文件,如main函数

3、向对应组中添加文件

把Libraries库目录下所需要的文件添加到对应的组中

CMSIS组:

StdPeriph_Driver组:所有的外设文件

Startup组:

4、加入头文件所在路径

5、加入对应工程所需要的宏定义:在单片机编程中,属于条件编译,若要使用对应头文件需引入对应的宏定义

 

启动文件的选型:

启动文件选型时,是根据对应开发板的flash容量来选型

三、工程适用性:仅需改宏定义、启动文件、型号三个参数

比如,从VBT6板改到ZET6时,需改上述三个参数后,工程代码就可以适配修改后的开发板

2014-10-24 15:51:02 u014327527 阅读数 1269
  • 16天入门物联网操作系统——RT-Thread

    课程概述: RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成, RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过13年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、 CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A,  MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

    835 人正在学习 去看看 郭占鑫

1、单片机程序执行实际时间可以用设置断点测试


2、填写实际晶振频率


3、



4设置断点,全速运行。将运行前后的sec的值减去。


2012-03-05 16:41:30 zf1273603140 阅读数 3216
  • 16天入门物联网操作系统——RT-Thread

    课程概述: RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成, RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过13年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、 CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A,  MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

    835 人正在学习 去看看 郭占鑫
用keil编写的单片机程序要编译成目标文件。具体要看你用的芯片。一般编译成十六进制文件或二进制文件。烧写的的方法也和芯片有关。有的要烧写器,有的就是在线。在线烧写就是不用把芯片写下来直接烧写。一般用串行口或饼行口。具体要咨询芯片厂家。每家用到软件都不同。一般都是厂家提供的。
要使用STC-ISP软件。
2019-01-24 10:42:24 qq_42660303 阅读数 2072
  • 16天入门物联网操作系统——RT-Thread

    课程概述: RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成, RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过13年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、 CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A,  MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

    835 人正在学习 去看看 郭占鑫

用keil写单片机程序时,调试是必不可少的步骤。一般调试的时候我们会将变量的值放在窗口观察变量值变化情况,但有时候可能会需要到最底层直接看寄存器更为方便。例如在看GPIO口的输入输出状态时,我们可以在调试的时候看相应寄存器。打开观看寄存器的步骤如下,首先打开Peripherals选择要观察的寄存器,然后点View中的Periodic Window Updata,如下图所示:

2011-04-25 18:15:00 haokaihaohe110 阅读数 516
  • 16天入门物联网操作系统——RT-Thread

    课程概述: RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成, RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过13年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、 CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A,  MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

    835 人正在学习 去看看 郭占鑫

如何在keil上调试程序,单片机汇编程序的高效率,如何估计程序所用RAM的大小。

 

将系统移植到单片机上需要考虑的诸多问题,如重入性,堆栈分配,外存使用,中断操作等。

 

比如串口操作,当多个任务需要使用串口时,需要各任务互斥使用串口发送数据。各任务可以通过信号量机制

 

互斥使用串口发送接收缓冲区。

 

如果多个任务使用串口,如何区分到来的数据属于哪个任务呢?可以发送信号量通知所有的任务,让任务来判断。

 

关于串口操作可以参考:μC/OS—II的嵌入式串口通信模块设计

                           http://embed.chinaitlab.com/os2/758656_2.html

 


没有更多推荐了,返回首页