Stone
|
b9ed009fcd
|
恢复被覆盖的asse
|
2014-09-25 08:22:20 +00:00 |
WangQiang
|
2d9ac2f0c5
|
|
2014-09-25 07:15:37 +00:00 |
WangQiang
|
a68af76cd7
|
Crc16
|
2014-09-25 03:42:39 +00:00 |
Stone
|
2c16a2ed7d
|
|
2014-09-22 18:27:24 +00:00 |
Stone
|
044acd716f
|
如果用空闲线程Idle驱动系统定时Sys.Start,可能出现Sleep导致线程挂起,然后没有可用线程供调度。
为此专门增加独立的Main线程。
|
2014-09-19 20:17:57 +00:00 |
Stone
|
6e0727217f
|
重构系统、时间、线程三者的关系,Sleep优先使用线程级睡眠
|
2014-09-18 16:33:14 +00:00 |
Stone
|
02c2f1c94b
|
中断向量表固定在Flash里面。本来考虑放在RAM里面是为了可以动态修改,而现在为了增强中断函数,不得不在RAM做二级中断,该优势就变得毫无意义了。另外,放在RAM里面是为了通过增加RAM占用来降低Flash占用,而实际上Flash够用,RAM不够用,RAM更贵!
|
2014-09-10 12:50:46 +00:00 |
Stone
|
23b5d3ac26
|
不能通过累加的方式计算下一次时间,因为可能系统时间被调整
|
2014-09-09 07:33:20 +00:00 |
Stone
|
698a2167af
|
|
2014-09-08 12:14:38 +00:00 |
Stone
|
4e9f3bf6ad
|
默认添加显示实现的任务
|
2014-09-08 11:59:37 +00:00 |
Stone
|
bc210e2d2e
|
|
2014-09-07 18:56:30 +00:00 |
Stone
|
726c647196
|
堆链表的每一个节点由4字节大小以及4字节下一节点的指针组成
需要找到最后一个空闲节点,然后把大小加上去
|
2014-09-06 07:57:52 +00:00 |
Stone
|
6e444b7fd5
|
如果已经初始化堆,则直接增加大小即可
|
2014-09-06 07:31:57 +00:00 |
Stone
|
bc4df11692
|
如果已经初始化堆,则直接增加大小即可
|
2014-09-06 07:20:09 +00:00 |
Stone
|
0b3e1273c3
|
调整异常处理架构
|
2014-09-06 06:54:29 +00:00 |
Stone
|
38926dfc83
|
SmartOS将会重新设定堆到RAM最大值,但是在Sys设定堆大小之前,别的地方也可能需要用到堆,特别是类的全局对象
|
2014-09-06 06:33:44 +00:00 |
Stone
|
5b53a1757b
|
改进内存检查方式
|
2014-08-30 11:05:03 +00:00 |
Stone
|
9bc16d3bc5
|
修正日志输出
|
2014-08-29 17:22:46 +00:00 |
Stone
|
615e72e64d
|
SmartOS将重新设定堆到RAM最大值,让堆栈共用全局变量以外的全部RAM空间
|
2014-08-29 17:20:11 +00:00 |
Stone
|
8ea32aaf1b
|
为了最大程度使用内存,不再使用双栈。
双栈的做法,PSP足够大了,但是MSP不行,如果把MSP分配过大,又会缩小PSP和堆的空间
|
2014-08-29 12:14:13 +00:00 |
Stone
|
2373944451
|
增加系统时间结构体SystemTime,支持获取当前时间,支持时间格式化
|
2014-08-29 11:46:00 +00:00 |
Stone
|
6516cd24d2
|
系统启动时间
|
2014-08-25 04:43:28 +00:00 |
Stone
|
aecad4b9f1
|
F1接管启动权,编译通过,启动成功,变频成功,但是系统不稳定,可能跟中断向量表有关
|
2014-08-23 04:04:34 +00:00 |
Stone
|
d7ae87c6f2
|
F4测试通过,可以任意设定频率
|
2014-08-22 17:02:38 +00:00 |
Stone
|
21b9c6070d
|
F0的频率随意切换
|
2014-08-22 16:21:53 +00:00 |
Stone
|
7a13fdcd7d
|
v2.6.2014.0823 平台文件独立,接管系统初始化控制权
|
2014-08-22 16:02:51 +00:00 |
Stone
|
ed91d3380e
|
GD32F130虽然用F0固件库,但是它是M3内核,所以某些寄存器还是得用M3的
|
2014-08-22 15:10:27 +00:00 |
Stone
|
eeaafdb1e0
|
STM32F1兼容性修正
|
2014-08-22 14:20:44 +00:00 |
Stone
|
4d78b5395f
|
|
2014-08-22 14:15:53 +00:00 |
Stone
|
3417f3b58e
|
因为重新配置过频率,需要修改HSE_VALUE,否则其它获取系统频率的地方会得到不正确的数字
|
2014-08-22 14:13:32 +00:00 |
Stone
|
0826c4b693
|
HSE_VALUE宏的使用太罪恶了,改为全局变量,方便用户外部修改。
25M晶振测试通过
|
2014-08-22 14:01:14 +00:00 |
Stone
|
ff5b6aff5c
|
使用更直观的方式配置F4时钟
|
2014-08-22 13:23:18 +00:00 |
Stone
|
5d4c1710d0
|
8M晶振下配置倍频通过,测试通过
|
2014-08-22 11:45:55 +00:00 |
Stone
|
dbb61f9b99
|
修正STM32F4读取ID和Flash大小的地址
|
2014-08-22 09:48:16 +00:00 |
Stone
|
2e5d535114
|
STM32F4编译通过,调试程序跑起来,但是串口无输出
|
2014-08-22 09:20:42 +00:00 |
Stone
|
9bc0ef29d8
|
新值value为true,说明是上升,第二个参数是down,所以取非
预先保存当前状态值,后面跳变时触发中断
|
2014-08-22 05:07:09 +00:00 |
Stone
|
a65c0157cc
|
增加ToHex,实现字节码到十六进制字符串的转换
|
2014-08-22 02:22:28 +00:00 |
Stone
|
5b008f3491
|
由Sys实现显示字符串和二进制数据的函数
|
2014-08-21 14:50:17 +00:00 |
Stone
|
160defecb2
|
检查内存需要用到那个数组,搬回Sys里面去
|
2014-08-19 09:30:47 +00:00 |
nnhy
|
f5457e66c9
|
|
2014-08-18 18:08:12 +00:00 |
nnhy
|
aabfb9dd6f
|
尽量给堆加大内存
|
2014-08-18 17:57:56 +00:00 |
nnhy
|
dbffea32b9
|
增加内存管理模块,重载new和delete,方便调试堆溢出
增加调试管理模块,调试使用的主要代码实现在此
|
2014-08-18 17:37:02 +00:00 |
nnhy
|
32b7598933
|
STM32F030F4仅有16k闪存和4k内存,例程项目一直以STM32F030C8来编译,所以在ROM超过了17k或者RAM超过4k以后仍然不会报错。
因此有必要独立一个x4的启动文件,把堆设置尽可能小
|
2014-08-18 17:06:51 +00:00 |
Stone
|
40ad0132f8
|
无法区分x5x和x3x
|
2014-08-18 11:05:02 +00:00 |
Stone
|
7f1457117d
|
手册里搜索FLASH_SIZE,优先英文手册
|
2014-08-18 09:43:37 +00:00 |
Stone
|
19f7672d35
|
确定STM32F0的ID也是96位
|
2014-08-18 09:22:32 +00:00 |
Stone
|
b6d02315f7
|
借助DevID识别F030C8
|
2014-08-18 07:43:09 +00:00 |
Stone
|
1161c3328b
|
通过ID前面两个字节,识别区分130和150,暂时没有别的办法
|
2014-08-18 05:15:19 +00:00 |
nnhy
|
910d44a7fd
|
|
2014-08-17 21:31:04 +00:00 |
nnhy
|
26b06853f1
|
如果堆只剩下64字节,则报告失败,要求用户扩大堆空间以免不测
|
2014-08-17 20:18:16 +00:00 |
nnhy
|
d4da8d7859
|
输出堆栈信息
|
2014-08-17 20:15:16 +00:00 |
nnhy
|
cf8edc1ff3
|
只有GD32才输出ID的ASCII
|
2014-08-17 18:17:03 +00:00 |
Stone
|
9f2d40a966
|
GD32用F0的地址,但是ID有12字节
|
2014-08-17 15:21:20 +00:00 |
nnhy
|
549667bce6
|
|
2014-08-16 10:07:42 +00:00 |
nnhy
|
4780affb44
|
输出F130
|
2014-08-16 10:05:04 +00:00 |
nnhy
|
f24f6e8632
|
针对GD32F130调整
|
2014-08-16 09:52:39 +00:00 |
nnhy
|
c492277865
|
细化F030的系统参数
|
2014-08-16 09:21:40 +00:00 |
nnhy
|
f55d53040c
|
精细化CPUID的解析,对于每一种MCU来说似乎是精确的
|
2014-08-16 08:44:51 +00:00 |
nnhy
|
de16b0c0f1
|
STM32F030F4测试可用,但是无法正确读取ID和Flash大小,估计地址不一样
|
2014-08-15 17:34:59 +00:00 |
nnhy
|
25cdb92e0d
|
STM32F030F4只有4k内存,s文件不适合分配太大堆空间
|
2014-08-15 17:15:18 +00:00 |
Stone
|
d87bd7bac9
|
调整Sys.ID和MCUID结构类型,输出芯片名称
|
2014-08-15 14:58:07 +00:00 |
Stone
|
7828569522
|
输出RAM大小信息
|
2014-08-15 13:49:11 +00:00 |
Stone
|
9e3bcceedd
|
直接使用RAM最后,需要减去一点,因为TSys构造函数有压栈,待会需要把压栈数据也拷贝过来
|
2014-08-15 11:15:48 +00:00 |
nnhy
|
c947b6437e
|
做一个简单功能,知道RAM大小,然后直接把栈顶做到最后
|
2014-08-14 15:58:41 +00:00 |
Stone
|
97a3f86ec7
|
考虑整型溢出
|
2014-08-12 12:10:10 +00:00 |
Stone
|
b7c3511d36
|
名字太长难记,短一点
|
2014-08-11 19:27:10 +00:00 |
nnhy
|
ab208dc90f
|
优化循环次数
|
2014-08-11 05:32:23 +00:00 |
nnhy
|
ca29259ab4
|
多任务增加参数支持,方便成员函数作为任务
|
2014-08-10 19:06:19 +00:00 |
nnhy
|
67b81d9716
|
v2.4.2014.0811 SmartOS实现系统任务调度,一次性编译测试通过
从该版本开始,在Sys.h的最后加上重要更新日志
|
2014-08-10 18:58:17 +00:00 |
nnhy
|
8792ce18df
|
调整系统时钟架构,为了更方便给应用功能提供超时时间实现
|
2014-08-10 06:22:07 +00:00 |
Stone
|
dcdb784ab2
|
增加自动内存越界检查
|
2014-08-06 16:00:24 +00:00 |
Stone
|
fbaf25a66c
|
系统信息
|
2014-08-06 06:54:59 +00:00 |
nnhy
|
429a6ff064
|
使用双栈,希望能给系统带来更好的稳定性
|
2014-08-05 20:20:57 +00:00 |
nnhy
|
7216344c84
|
转移全局中断时间,增加智能中断SmartIRQ
|
2014-08-05 18:43:01 +00:00 |
nnhy
|
8ed7d2426a
|
必须在系统主频率确定以后再初始化时钟
|
2014-08-05 17:53:59 +00:00 |
Stone
|
1277807204
|
增加参数校验,仅在Debug时检验,RTM不检查
|
2014-08-04 04:52:15 +00:00 |
Stone
|
1bd5716f40
|
使用调试输出,在RTM时不输出print,节省1.5k大小
|
2014-08-04 03:13:56 +00:00 |
Stone
|
1e4e0c9e0e
|
TSys增加Crc校验方法
|
2014-08-02 11:31:34 +00:00 |
Stone
|
20a14b44b7
|
增加Sys.Inited表示系统是否已经初始化,系统初始化之前不输出printf日志
|
2014-08-02 01:35:17 +00:00 |
nnhy
|
9f050709d3
|
兼容修改,编译通过
|
2014-07-31 20:21:16 +00:00 |
nnhy
|
722fc21b0c
|
关闭JTAG仿真接口,只打开SW仿真
|
2014-07-31 18:01:27 +00:00 |
nnhy
|
1146ed7911
|
完善代码注释
|
2014-07-31 17:51:31 +00:00 |
Stone
|
b2961a185b
|
对于GD来说,这个寄存器位其实没有什么意义,内部设定好等待时间了
|
2014-07-30 06:47:02 +00:00 |
Stone
|
3c8b816958
|
GD 256k以内是零等待,512k以内是1等待,以后是2等待
|
2014-07-30 06:36:03 +00:00 |
Stone
|
23860ffa21
|
增加CPUID
|
2014-07-30 00:08:00 +00:00 |
Stone
|
9b56a0240e
|
F030的ID地址不一样
|
2014-07-29 14:35:26 +00:00 |
Stone
|
78be9769ab
|
刚才不小心改错了
|
2014-07-29 14:16:40 +00:00 |
Stone
|
86c44012d3
|
修正宏定义错误
|
2014-07-29 14:07:21 +00:00 |
Stone
|
e778d02e48
|
修改编码
|
2014-07-29 13:32:31 +00:00 |
Stone
|
1e79bbd47e
|
修改后,GD32F130编译通过,未测试
|
2014-07-29 13:29:29 +00:00 |
Stone
|
9a9e7819c3
|
增加中断管理类,完全自己管理中断向量表,支持动态修改中断函数。
系统时钟由中断管理支持
|
2014-07-28 10:01:02 +00:00 |
nnhy
|
96f8467e4b
|
|
2014-07-27 18:29:07 +00:00 |
Stone
|
7ba0dba667
|
注意处理好析构函数中的资源回收
|
2014-07-26 15:09:43 +00:00 |
Stone
|
92b5806ccb
|
增加系统错误处理
|
2014-07-26 04:45:46 +00:00 |
Stone
|
ab42c72143
|
NRF24L01+编译通过
|
2014-07-25 05:49:41 +00:00 |
Stone
|
ce90a37869
|
完善SmartOS系统的初始化
|
2014-07-25 05:33:28 +00:00 |
nnhy
|
42d4f45e84
|
系统类封装完成,编译通过
|
2014-07-24 19:17:22 +00:00 |