与0.2.1版本相比修改如下: demo.c 1、命令行界面增加逐字符回显功能,可以用超级终端调试,摆脱专用串口工具。 2、增加键盘测试命令。 3、所有命令均增加等效英文命令。 4、支持的命令见“命令表.txt”文件。 djyos.c/.h文件: 1、根据无为小僧(曾波)发现的隐患,事件类型的名字如果用指针索引的话,如果用户调用y_evtt_regist时使用的是局部数组,将存在保存名字的内存被释放的危险。改为数组存储,最长31字符,在struct event_type结构中把evtt_name由指针改为数组,修改涉及下列函数: __y_init_sys、y_evtt_regist、y_evtt_unregist、y_get_evtt_id 2、在y_evtt_unregist函数中释放虚拟机处发现一个bug,存在访问非法内存的危险,改之。 3、y_evtt_done_sync函数中处理同步队列处存在严重bug,可能导致访问非法内存,且使同步队列混乱,改之。
wdt.c 修正了wdt_create函数的一处错误,该错误可能导致内存泄漏,该bug由sniper提交。
mems.c/.h 1、修正了__m_check_memory函数的一处错误,这是一个逻辑错误,该bug由网友sniper提交
driver.c/.h 1、修正了dev_close_left函数和dev_close_right函数的各两个bug,第一个bug会导致held_device指针指向错误的地址,第二个bug会是快速打开设备的函数无法工作,该两bug由网友sniper提交 2、泛设备控制块struct pan_device 结构增加成员owner,避免用户在一个事件中打开设备,在另一个事件中关闭设备时,held_device指针错误。
源码和书籍下载,请到djyos官方网站: www.djyos.com 上面有djyos更详尽的介绍,并共享着: 1、djyos的全部源码。 2、一本书,是我多年经验之集成,融汇了许多软硬件系统架构设计方面的思想,以及设计可移植的和高可靠性嵌入式系统的基本方法,不仅仅是djyos的文档。
|