有幸能够参与这次比赛,学到了很多知识,在这个过程中不断学习TencentOS,并且成功完成了hello world的运行。
由于忘记
TencentOS tiny整体架构
RTOS的多任务设计
开发板简介
CH32V_EVB是腾讯物联网操作系统TencentOS tiny 团队联合沁恒微电子设计的一款物联网评估板,用于TencentOS tiny 基础内核、RISC-V IP核架构和IoT组件功能体验和评估。
单片机最小系统或者叫最小硬件单元电路,指用最少元器件组成的单片机可以正常工作的系统。最小系统基本由电源、单片机、晶振、按键复位电路、用户LED等接口组成,电源使用3.3V直接供电,其他部分原理图如下:
沁恒微电子简介
沁恒微电子股份有限公司成立于2004年,是一家通讯接口芯片和全栈MCU芯片公司。沁恒专注于连接技术和MCU内核研究,基于自研收发器PHY和处理器IP的全栈研发模式,取代传统的外购IP整合模式,提供以太网、蓝牙无线、USB和PCI类等接口芯片,及集成上述接口的连接型/互联型/无线型全栈MCU 单片机。
开发板特性
- 内置TencentOS Tiny开源物联网操作系统
- 开发板采用沁恒RISC-V MCU CH32V307VCT6芯片,CH32V305/7系列是基于沁恒自研RISC-V架构微处理器青稞V4系列设计的32位工业级互联型微控制器,配备了硬件堆栈区、快速中断入口,在标准RISC-V基础上大大提高了中断响应速度。加入单精度浮点指令集,扩充堆栈区,具有更高的运算性能。扩展串口UART数量到8组,定时器到10组,其中4组高级定时器。提供USB2.0高速接口(480Mbps)并内置了PHY收发器,以太网MAC升级到千兆并集成了10M-PHY模块。
- 64KB SRAM,256KB Flash
- 板载Type-C接口WCH-LINK仿真器
- 板载esp8266 WiFi模组,支持腾讯云固件
- 板载以太网接口
- 板载物联网俱乐部WAN Interface接口,可支持NB-IoT、WiFi、4G cat1、LoRa等模组
- 板载物联网俱乐部E53 Interface接口,可扩展全系E53传感器以及音频模块;
- 板载标准24P DVP摄像头接口,可支持最高500万像素摄像头;
- 板载1.54寸 IPS高清显示屏,支持240*240分辨率;
- 预留SD卡、用户按键、SPI Flash,
- 扩展IO口,方便开发者扩展硬件模块
活动介绍
作为全新一代开源精简指令集,RISC-V在AIoT时代备受关注,国内外芯片公司积极布局,RISC-V生态正逐渐起步。TencentOS Tiny(待更名)物联网操作系统也率先支持了RISC-V架构的芯片,提供基于RISC-V的全栈AIoT解决方案。本次开发者成长激励计划是由开放原子开源基金会主办,腾讯TencentOS团队联合国内本土领先MCU芯片公司-南京沁恒微电子等多家单位协办、发起的线上开发者活动,主要面向中小企业嵌入式工程师、RISC-V开发者、物联网爱好者、创客团队等,期待与广大开发者一起共建RISC-V应用生态,基于TencentOS Tiny(待更名)和沁恒RISC-V MCU打造更多新颖、实用、有价值和创造力的IoT应用作品。
开发平台以及代码部分
代码语言:javascript复制#include <stdio.h>
#include <reg51.h>
void initUart(void) //串行通信函数
{
SCON = 0x50;
TMOD = 0x21;
PCON = 0x00;
TH1 = 0xfd;
TL1 = 0xfd;
TI = 1;
TR1 = 1;
}
int SPrintf(const char *fmt, ...)
{
const char *s;
u8 *Buf;
u16 d;
float f;
u8 tbuf[16];
u8 i=0;
va_list ap;
va_start(ap, fmt);
Buf=ShowBuf;
while (*fmt)
{
for(i=0; i<sizeof(tbuf); i )
tbuf[i]=0;
if (*fmt != '%')
{
*Buf =*fmt ;
continue;
}
switch (* fmt) {
//字符串
case 's':
s = va_arg(ap, const char *);
if (s == NULL) {break;}
for ( ; *s; s ) {
*Buf =*s;
}
break;
//十进制
case 'd':
d = va_arg(ap, int);
sprintf(tbuf, "%d",d);
for (i=0; tbuf[i]!='