Stone
|
e4a0531bf8
|
WatchDog.cpp;Debug.cpp;Power.cpp;Interrupt.cpp
|
2016-01-13 16:59:33 +00:00 |
Stone
|
e23f2b926f
|
!!!开始重新组织代码,让SmartOS头文件脱离对硬件设备固件库的依赖,将来使用的时候只需要引用设备固件库而不需要固件库的头文件。
Port作为样本编译通过,其它文件编译通不过,如果急需使用SmartOS,请回滚撤消当前版本。
cpp文件里面,需要把stm32.h放到开头,否则断言的编译可能会出错
|
2016-01-13 15:20:27 +00:00 |
Stone
|
6b8c2a7db1
|
关闭内存调试日志
|
2016-01-09 16:15:06 +00:00 |
nnhy
|
6d6c802a2e
|
发行版不允许抛出异常以及显示异常信息,这将极大减小使用C++标准库所带来的固件膨胀
|
2015-12-30 10:04:10 +00:00 |
nnhy
|
999369a6b2
|
F1不需要分散加载,那是130才有的问题,需要把重点代码放到系统最前面
|
2015-12-05 09:06:48 +00:00 |
Stone
|
727ab0a626
|
内存分配基本上已经稳定,改为直接使用C++实现;
只有Debug模式才指定代码段,一边发行模式固件较小,为了避免编译用不到的代码;
|
2015-11-21 18:30:33 +00:00 |
nnhy
|
94cea1c36a
|
!!增加函数跟踪栈,进入函数时压栈函数名,离开时弹出。便于异常时获取主线程调用列表
|
2015-11-13 13:34:36 +00:00 |
nnhy
|
2921f7a2f9
|
频繁调用的代码,分散加载到Flash前面,因为GD32F130/150最后32k比较慢
|
2015-10-28 12:14:46 +00:00 |
nnhy
|
7116f2a986
|
精简不再使用的功能
|
2015-10-22 01:25:29 +00:00 |
nnhy
|
fdd7cbd274
|
Flash驱动升级整理后,测试通过
|
2015-10-06 10:39:50 +00:00 |
nnhy
|
d273ac7589
|
精简Sys,编译通过,测试通过
|
2015-10-05 14:04:34 +00:00 |
nnhy
|
da93ede9bf
|
|
2015-09-09 04:14:13 +00:00 |
nnhy
|
4b9161c1e6
|
RTM编译时,不要编译调试信息,甚至调试字符串都不要参与编译,测试通过,固件减小12.4%
|
2015-08-19 09:53:47 +00:00 |
nnhy
|
db01edcc4d
|
内存大小向4字节对齐
|
2015-08-11 09:03:09 +00:00 |
nnhy
|
d0429a18b4
|
最小化关闭中断的范围
|
2015-08-06 07:19:18 +00:00 |
Stone
|
b228999755
|
判断释放的地址
|
2015-07-11 02:02:50 +00:00 |
nnhy
|
1d77215a69
|
增加可指定错误信息的assert_param2,测试通过
|
2015-06-24 07:54:57 +00:00 |
nnhy
|
7d22fd30ea
|
F4有64k的CCM内存
|
2015-06-15 09:13:09 +00:00 |
nnhy
|
6b6c7c7ee0
|
诊断指针时,用静态cosnt
|
2015-01-24 17:17:52 +00:00 |
Stone
|
a1fa7df0ca
|
全局的类对象构造函数会在SmartOS重设RAM位置之前执行,要确保它们栈充足
|
2014-11-20 06:57:40 +00:00 |
Stone
|
8926b8649d
|
分配内存时,关闭全局中断,避免多线程问题
|
2014-10-17 14:47:58 +00:00 |
nnhy
|
e54afbdcf2
|
改进assert_ptr实现,支持RAM指针和Flash指针
|
2014-10-12 10:11:20 +00:00 |
Stone
|
b7d44401b6
|
增加诊断宏assert_ptr,用于诊断内存指针是否有效,在一定程度上可以避免指针满天飞
|
2014-09-25 04:02:28 +00:00 |
Stone
|
56eb3d2d62
|
F4也可以输出更详细的错误信息
|
2014-09-19 18:46:40 +00:00 |
Stone
|
187b4d7a21
|
如果有挂起的切换,则不再切换。否则切换时需要保存的栈会出错。
解决不停创建、销毁线程时,内存暴涨不消的问题。这个问题估计跟没法完全释放线程有关
|
2014-09-19 03:28:16 +00:00 |
Stone
|
0b3e1273c3
|
调整异常处理架构
|
2014-09-06 06:54:29 +00:00 |
Stone
|
ed24e7cee8
|
完善系统底层,不仅能够准确的告诉你哪里出错了,还需要告诉你怎么样去解决这个错误
GD不能映射中断向量表,必须使用Flash开头的那个默认中断向量表,而这需要在Keil的ARM属性页设置GD32=1
__Vectors_Size只是一个标记,需要先取地址,才得到它的值
|
2014-08-24 09:26:18 +00:00 |
Stone
|
c10633f5df
|
GD不能映射中断向量表,必须使用Flash开头的那个默认中断向量表,而这需要在Keil的ARM属性页设置GD32=1
测试未通过
|
2014-08-23 16:50:42 +00:00 |
Stone
|
2e3b853fa1
|
使用汇编宏指令判断GD32并使用Flash中断向量表
|
2014-08-23 09:15:20 +00:00 |
Stone
|
060c2c6191
|
非特殊调试时期不用输出那么多日志
|
2014-08-22 11:04:17 +00:00 |
Stone
|
77920dd1e2
|
完善内存预警,测试通过
|
2014-08-19 15:02:03 +00:00 |
Stone
|
b6aff4639e
|
增加new[]内存分配,内存分配日志不换行,仅在前后增加空格
|
2014-08-19 14:28:10 +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 |