OpenSISE/Small-System
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
About Small System :
开发一个操作系统一直是多年的想法,后来在大一的暑假才得以完成整个框架的一部分,现在上传的这部分代码拥有文件管理,内存管理,图形库,脚本执行器和GSM 拨号模块,至于多线程由于历史原因一直没有开发,后来转变去做产品逆向了.Small System 的架构初衷是可以适应不同的开发平台和场景,然后可以以此为基础快速开发嵌入式产品,最后达到短开发周期高效运行.毕竟理想是好的,现在项目早已搁置,想了一下这次回去还要着手把Small System 拓展到智能火箭(Smart Rocket ),代码迟早都是要开源的,于是趁着现在期末把所有代码都开放,希望这些代码可以给你带来启发,也希望这些代码可以帮助你开发产品.除了系统之外,另一个就要说一下脚本执行器,我承认写得太烂了,C 里面没办法用String 和Map 容器,于是导致了解析语句变得非常长而且可读性也不高,不想给自己找借口,如果因为这段代码你喷我的话真的不会怪你: ) .由于为了提升可读性,代码的结构都没有设计得很复杂,而且命名大家也是可以一看就明白的.最后想说的是,可能Small System 在开发上的作为并没有那么大,但是它给我带来的东西太多太多,作为反病毒的研究者,了解系统的各个部分确实是很难很难的,就像可以全面理解Windows 和Linux 的每个内核模块一样,很多人都想深入下去但是看到极其庞大而复杂的系统结构都忘而却步,在写系统的时候也明白了为什么iPhone 1 代特别容易受到攻击,旧版本的Windows 漏洞为什么特别容易找,Android 为什么要用JVM 虚拟机等问题.自己不是挺适合做开发,还是走安全吧.
有很多人梦想着改变世界,但是他们没有得到源代码
感谢你不厌其烦地阅读完,谢谢.. -- LCatro
TIPS: 代码里面有一部分是直接使用原来的开发板上面的代码移植过来的,因为好久没有写硬件的东西,就连最简单的IIC 也都忘记了,细想一下还是直接把它们拿过来改一下就OK 了,文件系统当初的考虑是可以给Small Phone 插SD 卡的,于是就移植FAT 32 ,后面没有什么时间写,内存部分直接使用原来开发板的内存管理模块,老板也说同意了,其余部分全部都是自己开发,如果你觉得这个内存模块还是想要原生的好那我找个时间在把它重新写吧..
WARNING! 代码已经测试过可以成功编译,如果你的Keil 会弹出L6050u 链接器错误的话那就把你的MDK 注册一下就可以了,系统里面有一个BUG 一直没有修复,就是系统锁屏可能会再也不能启动,这是因为reset_wait_time() [rtc_device_api.c] 的wait_time 出了问题,代码如下:
if (wait_time>WAIT_TIME_LCD_DISPLAY_OFF) // WARNING! DeadLock! ..
lcd_off();
else
++wait_time;
Releases
No releases published
Languages
- C 91.4%
- Assembly 7.1%
- HTML 1.3%
- Other 0.2%