From 11d984c52d5e7a3d10057c910ea598c8dffd533a Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Fri, 16 Oct 2015 22:04:37 +0800 Subject: [PATCH] Update ChangeLog_CN.md --- ChangeLog_CN.md | 265 +++++++++++++++++++++--------------------------- 1 file changed, 117 insertions(+), 148 deletions(-) diff --git a/ChangeLog_CN.md b/ChangeLog_CN.md index 31ccb8ef9e..12435ced95 100644 --- a/ChangeLog_CN.md +++ b/ChangeLog_CN.md @@ -1,9 +1,58 @@ +# RT-Thread v2.1.0 beta版本更改说明 + +## BSP部分 + +* BeagleBone加入GPIO驱动; +* 京微雅格M7,更新驱动库并改进EMAC驱动程序; +* 新加入dm365移植(包括EMAC、GPIO、I2C、MMC/SD、SPI等驱动); +* LPC4088加入EMC、硬件定时器、CAN驱动; +* 新加入龙芯1C,智龙v2开发板移植(包括多串口驱动); +* 更改mini2440移植为applications/drivers等的目录方式; +* 更新simulator在MS VC++上的移植,处理好初始化代码工作,完善UART控制台驱动; +* 新加入stm32f7-disco移植; +* 在stm32f10x中新加入CAN驱动及应用代码示例; +* 在stm32f40x中加入硬件定时器驱动,RTC驱动; +* 调整stm32f107为新的串口驱动框架; + +## 组件 + +* DFS的struct stat定义中移除st_blksize成员(可以兼容于VC++中的stat定义); +* 修正DFS中select实现的问题; +* 修正DFS中文件操作出错、关闭时的fd处理问题; +* 修正DFS中mkdir和lseek出错时的fd处理问题; +* 修正lwIP中SYS_ARCH_PROTECT/SYS_ARCH_UNPROTECT保护的问题; +* 增加CAN驱动框架; +* 增加硬件定时器驱动框架; +* SD/MMC驱动框架中增加eMMC支持; +* 修正注册SDIO驱动时驱动关联的问题; +* 修正串口驱动框架DMA发送时激活标志的问题; +* SPI Flash驱动中加入对GD25Q spi flash芯片支持; +* 增加paho-mqtt组件移植; +* 增加msh的脚本执行能力,可以在msh下执行*.sh脚本; +* 增加msh下的mkfs命令; +* 修正在Linux Telnet下使用finsh shell回车符处理的问题; +* 增加应用模块在使用armcc、gnu gcc编译器时的libc符号导出; +* 在以太网网卡驱动框架中增加ETHIF_LINK_AUTOUP/PHYUP参数用于指定初始时的链路Up/Down状态; +* 在组件初始化中导出log_trace组件; + +## 内核 + +* 更改UNUSED/USED等更改成RT_UNUSED/RT_USED; +* 链接时增加.rodata.name section,当空间资源受限时可以把它放到性能低的内存区域; +* 完善IAR编译器下的组件自动初始化; +* 增加rt_assert_hook,在触发断言时可以执行这个钩子函数; +* 修正应用模块分散加载情况下的问题; + +## 工具 + +* scons中定义Group时加入了本Group内的编译参数定义; +* 修正了如果Group中即包含代码,也包含二进制库时,生成的Keil MDK工程文件有两个重名Group的问题; 版本: RT-Threadv2.0.1及v2.1.0 alpha RT-Thread v2.0.1是2.0这个系列的bug修正版,而v2.1.0 alpha则是当前开发主干的一个技术预览版本,它给出了v2.1.0这个版本系列的技术预览情况,不建议用于实际产品中,因为它可能存在大量的一些bug。 -RT-Thread v2.0.1修正的主要内容包括: +# RT-Thread v2.0.1更改说明 * IAR用的dlib,加入THREAD_SUPPORT 和 FILE_DESCRIPTOR的支持; * 修正finsh中echo回显模式的问题; @@ -15,28 +64,19 @@ RT-Thread v2.0.1修正的主要内容包括: * lwip更深度的集成:把它集成到RT-Thread的文件系统接口中,这样Linux/Unix下的一些socket网络应用能够更顺利的移植到RT-Thread上,也为以后可以应用到更多地方的select接口铺路。 -* 这部分是和RT-Thread发布本身无关,但也是这个版本系列设定的目标之一:开启一个云端集成开发环境的时代!云端会是什么样的,请用现代化的浏览器打开以下地址: -http://lab.rt-thread.org/cloudide/simulator/index.html +* 这部分是和RT-Thread发布本身无关,但也是这个版本系列设定的目标之一:开启一个云端集成开发环境的时代!云端会是什么样的,请用现代化的浏览器打开[CloudIDE](http://lab.rt-thread.org/cloudide/simulator/index.html) - - -//---------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------- - -版本: RT-Thread 2.0.0正式版 +# RT-Thread 2.0.0正式版更改说明 经历了大约1年的时间,RT-Thread v2.0.0的最终版本终于发布出来了。自这个版本开发以来,引入了多项功能、修改、增强等。感谢参与的诸位开发人员! 以下是自v2.0.0 RC版本以来的详细更改记录。后续我还会给出v2.0.0版本自v1.2.x版本的主要不同、看点,以及给出下一个版本的roadmap规划。 - [内核] +## 内核 * console以RT_DEVICE_FLAG_STREAM参数打开字符设备; * 在rt_memheap_free中加入更多的断言检查; - [组件] +## 组件 * 更新RW009驱动以支持Wi-Fi SoftAP模式(aozima); * 修正sensor框架的一些问题,并加入C API接口(睿赛德服务公司提供); @@ -53,10 +93,9 @@ http://lab.rt-thread.org/cloudide/simulator/index.html * 增加lwIP/NAT组件,可以做多个网口间的地址转换(Hicard); * 增加lwIP/DHCP服务端,用于向客户端分配IP地址(睿赛德服务公司提供); - [BSP] +## BSP * 修正LPC4357串口驱动初始化时过早打开中断的问题(nongxiaoming); - * 重写LPC4357串口驱动,并让芯片上M4/M0核心分别都执行RT-Thread系统,两核心之间以VBUS组件进行系统间通信(睿赛德服务公司捐赠); * 新增RX移植(limxuzheng); * 新增NuMicro M051 Series移植,支持GCC、Keil MDK编译器(bright-pan); @@ -65,17 +104,11 @@ http://lab.rt-thread.org/cloudide/simulator/index.html * 在Linux Clang编译分析中,强制以32位模式进行编译(grissiom); * 修正STM32F103中串口驱动中断过早打开的问题(armink); - [工具] +## 工具 * 增加scons中的MD5支持(bright-pan); -//---------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------- - -版本: RT-Thread 2.0.0 RC +# RT-Thread 2.0.0 RC 更改说明 发布时间:2014/11/4 @@ -96,7 +129,7 @@ CSDN开源夏令营其他的成果,例如bluedroid移植也有了初步的成 以下是这个版本的更改记录: - [内核] +## 内核 * 修正当采用高级别优化编译时,idle任务中查询是否有僵尸线程的潜在bug; @@ -104,93 +137,53 @@ CSDN开源夏令营其他的成果,例如bluedroid移植也有了初步的成 * 在console中打开设备时,加入流标志进行打开; - [组件] +## 组件 * 加入C++基础支撑组件。C++组件依赖于RT_USING_LIBC库,当使用GCC编译器时请注意查看其中的说明文档并更改ld script; - * 修正DFS中NFS打开目录的bug; - * 更改DFS ROMFS默认romfs_root为弱化符号; - * 添加DFS中dfs_file_lseek接口中关于fs的检查; - * 移除I2C core中无用的core lock锁; - * 添加sensor framework(采用C++的方式支持各种sensor); - * 修正serial框架中DMA发送的bug(heyuanjie87); - * 移除SPI框架中不必要的device初始化代码; - * 完善SPI Wi-Fi网卡RW009驱动并提供RSSI相关的命令; - * 修正MSH中未定义DFS_USING_WORKDIR时更改当前目录的bug; - * 修正MSH中未定义RT_LWIP_TCP时依然定义了netstat命令的bug; - * 修正MSH中未定义RT_USING_HEAP时依然定义了free命令的bug; - * 修正finsh中FINSH_USING_HISTORY相关的裁剪; - * 加入gdb stub组件,当前支持ARM Cortex-A8和Cortex-M3/4(wzyy2); - * 统一不同编译器下使用LIBC的宏为RT_USING_LIBC,原有的宏定义RT_USING_NEWLIB/RT_USING_ARM_LIBC需要从rtconfig.h中移除,并替换成RT_USING_LIBC; - * 加入最新的lwIP分支:lwip-head,以提供IPv4/v6双栈的功能(hduffddybz); - * YMode中打开串口设备时,添加open flag(armink); - [bsp] +## bsp * 加入北京京微雅格的M7(华山)低功耗FPGA的ARM Cortex-M3移植(aozima); - * 加入北京京微雅格的M7 EMAC以太网驱动(aozima); - * AT91SAM9260分支中更改RT_USING_NEWLIB为RT_USING_LIBC; - * BeagleBoneBlack分支中加入gdb stub支持(wzyy2); - * LPC176x分支中加入C++支持; - * LPC176x分支中修正SD卡驱动返回卡信息的bug; - * 修正LPC408x分支中GCC编译时的问题; - * LPC408x分支中加入C++支持; - * 龙芯1B分支中加入UART3驱动; - * 加入飞索半导体的MB9BF568 FM4分支移植(yangfasheng); - * mini2440分支中更改RT_USING_NEWLIB为 RT_USING_LIBC; - * stm32f0x分支中移除不同编译器下的LIBC定义,统一更改为RT_USING_LIBC; - * stm32f0x分支中加入串口接收溢出中断处理(armink); - * stm32f40x分支中加入gdb stub支持并添加UART6驱动(wzzy2); - * zynq7000分支中更改RT_USING_NEWLIB为RT_USING_LIBC; - * 加入ARM Cortex-M4芯片指令级的ffs实现; - * 修正MB0BF618S分支中缺少timer初始化的bug(mike mao); - [工具] +## 工具 * 移除Python 2.6中未支持的语法(xfguo); - * 移除Windows平台中的startupinfo信息(对Python版本兼容性更好); - * 修正CPPPATH被打乱的bug; -//---------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------- - -版本: RT-Thread 2.0.0 Beta +# RT-Thread 2.0.0 Beta更改说明 发布时间:2014/8/1 @@ -200,7 +193,7 @@ v2.0.0版本的开发相对活跃些,开源社区提供了强有力的支持 更改记录 -[内核] +## 内核 * 移除rt_device_init_all()函数:在系统启动时不需要再调用这个函数来初始化驱动,而是由上层应用执行rt_device_open时自动进行设备初始化; * 修正设备对象引用计数在打开设备失败依然递增的问题; @@ -211,11 +204,11 @@ v2.0.0版本的开发相对活跃些,开源社区提供了强有力的支持 * 在执行soft timer超时函数时,打开调度器锁; * 新增块设备的自动刷新参数,RT_DEVICE_CTRL_BLK_AUTOREFRESH; -[工具] +## 工具 * 修正scons命令编译时,选择keil mdk (armcc)编译器时,命令行太长编译失败的问题; -[移植] +## 移植 * 移除rt_device_init_all()相关的调用; * 根据串口框架调整相关的驱动代码; @@ -233,7 +226,7 @@ v2.0.0版本的开发相对活跃些,开源社区提供了强有力的支持 * 新增MB9BF618S移植; * 新增tm4c129x移植,并加入相应的EMAC以太网驱动; -[组件] +## 组件 * DFS: 新增根据设备对象获得其上装载文件系统路径的函数:dfs_filesystem_get_mounted_path(struct rt_device* device); * DFS: 修正readdir在GNU GCC下的编译警告; @@ -260,18 +253,13 @@ v2.0.0版本的开发相对活跃些,开源社区提供了强有力的支持 * log trace: log trace中的session引用更改成常量形式; * ymodem: 增强数据接收的稳定性; -//---------------------------------------------------------------------------------------- +# RT-Thread 2.0.0 Alpha更改说明 -//---------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------- - -版本: RT-Thread 2.0.0 Alpha 发布时间:2014/4/8 RT-Thread 2.0.0分支的第一个技术预览版本,仅用于展示2.0.0发展分支的演化动向(按照roadmap,2.0.0这个分支会有一部分RT-Thread和Linux互补性的技术,为Linux增加更好的实时性,为RT-Thread增加更多的功能性,这份技术预览版正是朝着这个目标而努力),欢迎反馈建议和问题。 -[组件变更] +## 组件 * msh: bugfix 和功能性增强。新的 msh 在调用外部模块方面更加方便。 * DFS: nfs 的 bugfix 和内置命令的增强。ELM FatFS加入对扇区不匹配情况下的信息输出,这样能够及时定位问题。 @@ -280,12 +268,12 @@ RT-Thread 2.0.0分支的第一个技术预览版本,仅用于展示2.0.0发展 * CMSIS:版本更新至 3.20 * drivers:USB 协议栈的重构。新的框架中编写驱动变得更加容易了。 -[BSP 变更] +## BSP * beaglebone:串口驱动更新 * realview-a8:添加了 VMM 组件 -[编译脚本] +## 工具 * 固件加入scons --target=ua -s,用于准备用户应用环境; @@ -301,28 +289,29 @@ insmod rtvmm.ko 来启动 RT-Thread。RT-Thread 启动之后控制台在第二个串口上(Atl + Ctrl + 4)。第一个串口Linux shell依然可以使用,第二个串口则是RT-Thread的shell。 - JavaScript解析器,这个是由牛头哥移植的,可以在一个非常小资料的MCU上以JavaScript脚本方式进行编程、开发。根据这种方式,也提供了RN001JS的以太网硬件模块:以JavaScript脚本语言作为二次开发,提供在线web(即WebIDE)进行编程并运行JavaScript程序。JavaScript作为一门轻量级、解释型的语言,更容易上手,配合WebIDE、及提供的一些example可以使得开发变得非常的轻松,也包括一些传感器的JavaScript例子,让做网页的人也可以玩硬件了! -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- +# RT-Thread 1.2.1更改说明 -版本: RT-Thread 1.2.1 发布时间: 2014/4/8 在原有的1.2.0版本的bug修正版本,也是1.2.0系列的第一个修正版本,原则上不添加任何的新功能,我们尽量会按照每个季度一个修订版本的方式推进。大家在使用的过程中有什么问题还请反馈给我们,这些问题很可能会在下个版本中修正! 以下是更改记录: -[内核] + +## 内核 + * 用户应用,增加用户应用命令行参数支持; * 在挂起一个任务时,把相应的定时器也关闭; -[BSP] +## BSP + * BeagleBone,加入更多串口驱动支持; * 移除BSP中rt_device_init_all函数调用,改成打开设备时自动进行初始化; * LPC176x,移除components初始化管理器; * LPC4088,修正LED驱动的问题; * STM32F107,移除components初始化管理器; -[组件] +## 组件 + * 文件系统,ELM FatFS加入对扇区不匹配情况下的信息输出,这样能够及时定位问题; * 文件系统,NFS网络文件系统修正相关的一些编译警告信息; * 文件系统,copy命令加入文件夹方式复制功能; @@ -336,18 +325,16 @@ insmod rtvmm.ko * POSIX thread,修正了同时使用lwIP组件时的编译警告; * 第三方组件,加入TJPGD的移植,加入libpng的移植; -[编译脚本] +## 工具 + * 固件加入scons --target=ua -s,用于准备用户应用环境; [发布后记] * RT-Thread携带了众多的BSP,不一定能够一一保证每个分支上把RT-Thread上相应的功能使用起来。所以针对这种情况,我们有一款评估用的硬件开发板:RealBoard 4088,在上面力求把一些相关例程都添加上,这样在一个基本的BSP基础上,可以对照着把其他的组件、功能添加进去; * RealBoard 4088使用的RT-Thread版本主要以RT-Thread 1.2.1版本为主。 -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- +# RT-Thread 1.2.0正式版本更改说明 -版本: RT-Thread 1.2.0正式版本 发布时间: 2014/1/6 实现roadmap中提到的大部分内容 @@ -362,18 +349,22 @@ insmod rtvmm.ko - 默认使用lwIP 1.4.1 下面是自RT-Thread 1.2.0 RC版本发布以来具体的变更履历: -内核: + +## 内核 + * timer.c - 使用跳跃表(skip list)实现系统定时器链表,并在bsp中的startup.c中重新加入定时器初始化函数rt_system_timer_init() * rtdebug.h - 新增宏定义RT_DEBUG_IN_THREAD_CONTEXT * idle.c - 在函数rt_thread_idle_excute()中一次清除所有的死线程 * scheduler.c - 新增API rt_critical_level()返回调度器上锁次数 -移植: +## 移植 + * cortex-m0 - 修正 cortex-m0 GCC移植中hardfault的问题点 * cortex-r4 - 在startup后释放IRQ堆栈空间 * cortex-r4 - 按字节长度分配堆栈空间 -BSP分支: +## BSP分支 + * 新增lpc408x移植 * bsp/stm32f0x - 增加USART1,USART2驱动,支持finsh,支持组件初始化 * bsp/simulator - 当RTGUI配置无效时打印错误信息 @@ -385,7 +376,8 @@ BSP分支: * bsp/rm48x50 - 新增GCC的移植 * bsp/K60Fxxxx - 修正一个编译错误 -组件: +## 组件 + * dfs - 正确处理mkfs未实现的情况 * dfs - 使用指针代替index变量 * dfs - 在函数dfs_filesystem_lookup()将含义模糊的指针变量名称empty重命名为fs @@ -410,7 +402,8 @@ BSP分支: * drivers/pipe - 增加一个control命令来获得pipe剩余的空间 * drivers/serial - 如果读写长度为0,则立即返回 -例程: +## 例程 + * examples - 用rt_sem_control()中的RT_IPC_CMD_RESET命令rt_sem_trytake()来清除信号量 * examples - 始终打印输出测试结果 * examples - 在所有的测试结束后打印输出简报 @@ -429,11 +422,8 @@ BSP分支: 其他: * 更新README.md -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- - -版本: RT-Thread 1.2.0RC +# RT-Thread 1.2.0RC更改说明 + 发布时间: 2013/10/10/ 10:19 主要说明: 该版本新增ARM Cortex-A8的支持(BeagleBone),新增UNITY-2内核的支持(SEP6200),新增Ymodem协议。 @@ -1367,11 +1357,8 @@ RT-Thread实时操作系统编程指南与0.3.0正式版的相同,以后会逐 (*) 希望使用新特性的开发人员请关注后续0.4.0版本的发布情况,0.4.0版本添加了很多的新特性,例如:16位的瑞萨M16分支,大端模式的AVR32分支,以及MIPS分支等。 -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- +# RT-Thread 0.4.0 beta2发布说明 -版本: RT-Thread 0.4.0 beta2 发布时间: 2011/7/4 这是RT-Thread 0.4.x系列的第二个测试版本。这个测试版本,依然更多的面向测试目的,不建议直接应用到实际的产品中。RT-Thread 0.4.0的非正式版本依然沿用GPL v2许可证进行发布,欢迎测试。 @@ -1439,11 +1426,8 @@ tools: ** 自动创建IAR工程 ** 自动创建MDK4工程 -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- +# RT-Thread 0.4.0 beta1发布说明 -版本: RT-Thread 0.4.0 beta1 发布时间: 2010/11/30 自RT-Thread 0.3.0正式版发布以来,经过开发人员密集的整8个月开发,大众用户的积极反馈、测试,终于完成了RT-Thread 0.4.x系列的第一个测试版本。这个测试版本,依然更多的面向测试目的,不建议直接应用到实际的产品中。RT-Thread 0.4.0的非正式版本依然沿用GPL v2许可证进行发布,欢迎测试。 RT-Thread 0.4.0版本初始提出的几个功能亦基本达到,提供了相对完善的POSIX thread接口,动态库载入接口libdl以及应用模块支持。这些新功能的加入使得RT-Thread能够初步的兼容于POSIX标准。 @@ -1504,11 +1488,9 @@ RT-Thread 0.4.0 beta1下载 - FTK GUI。 对于Cortex-M3等平台,我们目前也在对 应用模块特性 进行评估,看看从技术上是否能够从另外的途径解决动态运行速度慢的问题。 -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- - -版本: RT-Thread 0.3.1正式版 + +# RT-Thread 0.3.1正式版 发布说明 + 发布时间: 2010/9/29 是发布0.3.1正式版的时候了:在0.3.1的维护过程中,得到了大家很多的反馈,其中一些bug及修正也是由大家指出,这里感谢大家一直以来的支持,RT-Thread的发展进步离不开大家的帮助,谢谢! 相较RT-Thread 0.3.0版本,0.3.1版本是一个bug修正版,并无添加新的特性(*),使用上与0.3.0版本完全兼容。建议使用RT-Thread 0.3.0版本的用户,如果需要长时间不间断运行(大于1年),请切换到0.3.1正式版本来。 @@ -1539,7 +1521,7 @@ RT-Thread在Google SVN服务器上的开发分支亦做了相应调整: RT-Thread实时操作系统编程指南与0.3.0正式版的相同,以后会逐渐由API说明文档替代,朝着正规化的方向发展。 STM32分支 ---------- + 请注意STM32分支的工程文件组织方式和0.3.0版本中的不一样,原来的几个目录是不相独立的工程,而0.3.1中为了避免混淆,把它们变成了独立的工程(注:因为0.3.1与0.3.0是完全兼容的,所以不一定要更新BSP目录)。 project_107是针对STM32F107芯片的工程,project_valueline是针对STM32F100芯片 STM32 Discovery开发版的工程,其余的芯片默认是STM32F103ZE。如果要修改成自己所需要的芯片,请遵循一下步骤: @@ -1554,22 +1536,14 @@ keep { section VSymTab }; 具体请看stm32f10x_flash.icf文件。 -LM3S分支 --------- -LM3S分支默认采用LM3S8962芯片,针对的是TI这次发的48¥ 8962开发板。 +* LM3S分支 - LM3S分支默认采用LM3S8962芯片,针对的是TI这次发的48¥ 8962开发板。 -LPC176x分支 ------------ -工程默认包括finsh shell,文件系统,网络协议栈的支持。 +* LPC176x分支 - 工程默认包括finsh shell,文件系统,网络协议栈的支持。 (*) 希望使用新特性的开发人员请关注后续0.4.0版本的发布情况,0.4.0版本添加了很多的新特性,例如:16位的瑞萨M16分支,大端模式的AVR32分支,以及MIPS分支等。 +# RT-Thread 0.3.0正式版发布说明 -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- - -版本: RT-Thread 0.3.0正式版 发布时间: 2010/3/30 相较以前的RT-Thread 0.3.0 RC版本,无大的修改(console调整为支持设备的模式),但依然建议所有使用0.2.x、0.3.0 beta/rc版的用户都开始使用0.3.0正式版。当前版本支持如下移植分支: @@ -1602,10 +1576,8 @@ LM3S的Keil MDK工程文件放在bsp\lm3s目录下;针对LM3S8962芯片(因为 把如上这个定义更改为SYSCTL_XTAL_8MHZ,否则得话会锁死JTAG。 -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -版本: RT-Thread/LM3S 0.3.0 RC1版发布 +# RT-Thread/LM3S 0.3.0 RC1版发布说明 + 发布时间: 2010/1/4 实时线程操作系统是一款面向实时领域的操作系统,这个和通常的通用操作系统有着很大的不同。通用操作系统通常面对的是日常应用,例如打开浏览器上网,播放音乐,采用字处理软件编辑文档。 @@ -1613,7 +1585,8 @@ LM3S的Keil MDK工程文件放在bsp\lm3s目录下;针对LM3S8962芯片(因为 实时系统和这种通用系统有很大的差别。实时系统指的是,当外界有系统关注的相应事件发生时,系统能够在指定的时间内(deadline)进行正确的响应。用于实时系统的操作系统就叫做实时操作系统。从系统的定义也可以看得出,实时操作系统和通用操作系统在事务的处理上有明显的区别,实时操作系统有非常强的针对性,对相应的事件力求做到这固定的时间内进行响应;而通用操作系统则需要努力地做到各个事务的公平性(某些系统也会非常注意数据的吞吐量,例如网络服务器)。 实时线程操作系统(英文名RT-Thread)面向的正是这么一类的实时系统,因为其小型的特点也可以看成是一个嵌入式操作系统(嵌入式系统一般是针对一些专有目的而存在,比较吝啬于成本。而基于专有目的的特点,也注定了嵌入式系统或多或少的具有一些实时性的特点)。这种系统可以用于自动售票机,税控机,移动通信设备,mp3/mp4等便携式音乐设备,飞行器控制,车体导航控制,打印机,复印机,各类监控设备,路由器,ADSL,机顶盒等网络设备,医疗设备等等。 TI流明LM3S系列芯片是基于ARM Cortex M3 v7构架的32位芯片,其中LM3S S6000,S8000,S9000系列芯片携带网络功能。RT-Thread的标准内核可以运行在除LM3S S100系列外的所有系列芯片上。这次RT-Thread针对于LM3S进行移植验证并经过压力测试的是LM3S6918芯片,芯片携带64K片内静态内存,256K闪存,频率是50MHz。在这个平台上,RT-Thread支持的特性包括: -? 完善的实时核心 + +* 完善的实时核心 - 面向对象方式的实时核心(但依然保留了C语言的优雅、小巧风格); - 默认32线程优先级的全抢占式实时内核(亦可配置成256线程优先级);相同优先级线程时间片轮转调度; - 相同优先级线程实施时间片可配置的分时时间片轮转调度; @@ -1622,25 +1595,25 @@ TI流明LM3S系列芯片是基于ARM Cortex M3 v7构架的32位芯片,其中LM - 支持线程挂起和唤醒的固定内存块管理及线程安全的动态内存堆管理; - 向上层提供基于名字的统一接口设备驱动模型; -? FinSH shell命令行 +* FinSH shell命令行 - 命令即C代码的命令行方式; - 直接在命令行中调用系统内核函数; - 直接在命令行中访问系统全局变量; - 历史记录及命令自动补全; -? 面向小型设备的虚拟文件系统 +* 面向小型设备的虚拟文件系统 - 向上层应用提供POSIX风格的API接口; - 支持多种具体文件系统实现; - LM3S分支内置SD卡驱动程序; -? LwIP轻型TCP/IP协议栈 +* LwIP轻型TCP/IP协议栈 - 标准的BSD Socket接口; - IP、ICMP、UDP、TCP标准协议支持; - DNS,DHCP,PPP协议支持; - TFTP、HTTP、FTP应用协议支持(见netutil组件); - LM3S分支内置以太网驱动; -? 开发环境支持: +* 开发环境支持: - GNU GCC (scons做为构建工具) - Keil MDK @@ -1701,11 +1674,8 @@ Packet size 8k bytes: 870 KByte/s Tx, 3239 KByte/s Rx. 许可证 作为一套基础组件,就例如电脑中的中文输入法一样,它不应该收费,因此它能够免费的使用于商业产品中(0.3.x系统仅需要在我们这边进行产品信息备案,更换GPLv2许可证为商业许可证!0.4.x将更换产品许可证为BSD或Apache开源许可证)。 -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- - -版本: RT-Thread RTOS v0.2.3版本 +# RT-Thread RTOS v0.2.3版本更改说明 + 发布时间: 2008/10/6 更新记录 @@ -1719,11 +1689,10 @@ Packet size 8k bytes: 870 KByte/s Tx, 3239 KByte/s Rx. - 修正链表中初始化问题; - 修正Object中调用钩子函数的问题; -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- -版本: RT-Thread v0.2.2 +# RT-Thread v0.2.2更改说明 + 发布时间: 2008/6/12 + RT-Thread v0.2.2单内核正式版发布,这个版本主要是增加更多的BSP移植: - s3c44b0的移植 [Xu Xinming] - AT91SAM7S64的移植 [Bernard Xiong,感谢icdev.com.cn提供开发板] @@ -1741,4 +1710,4 @@ AT91SAM7S64: (系统资源:16k RAM,64k ROM Flash) ia32: 支持i386-elf-gcc for windows的编译,linux下的还没试,应该也可以顺利编译。 编译完成后在bsp/qemu目录下生成rtthread-qemu.elf -把这个elf文件配置到grub的配置文件中,具体的grub配置请参看grub文档 \ No newline at end of file +把这个elf文件配置到grub的配置文件中,具体的grub配置请参看grub文档