Commit Graph

35 Commits

Author SHA1 Message Date
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