Commit Graph

73 Commits

Author SHA1 Message Date
Stone 921f0553e1 使用cstring替代const char* 2016-06-02 12:10:54 +00:00
WangQiang 79fa713abd BOOT APP 软中断重映射 搞定, 不影响正常非BOOT/APP固件编译 2016-04-13 02:02:38 +00:00
nnhy 5c3f60e2e8 加大跟踪栈大小
修正内网发现拷贝数据的BUG
2016-03-21 03:15:25 +00:00
nnhy fa0754e7ce 使用字符串指针的指针,因为引用的都是字符串常量,不需要拷贝和分配空间 2016-03-18 01:16:59 +00:00
nnhy d1f6245d9b 所有NULL更换为nullptr,GCC要求更严格。
Sys.h头文件不再包含string.h,禁止SmartOS除了Type和String以外的地方使用内存管理函数
2016-03-14 04:28:04 +00:00
nnhy a25c19c006 兼容GCC调整汇编代码,SmartOS顶层文件编译通过 2016-03-14 03:51:57 +00:00
nnhy 927bac9a0c 常量化Sys和Time,避免各个模块不小心错误修改 2016-01-23 09:22:09 +00:00
Stone e4a0531bf8 WatchDog.cpp;Debug.cpp;Power.cpp;Interrupt.cpp 2016-01-13 16:59:33 +00:00
nnhy a0cb7382a4 TraceStack弹出时清空最后一个项目,避免误判 2016-01-11 09:54:00 +00:00
nnhy bf98a6682f 取消宏定义string,统一使用字符指针char*,string为C++标准字符串类库让路。
经过测试,在容量较大的芯片上可以使用string,仅使用+=功能,RTM版本固件增加了大概18k。
2015-12-30 08:51:47 +00:00
nnhy 9255eb5c72 修正跟踪栈的一个BUG,如果在初始化跟踪栈之前就使用,比如全局构造打开输出口,就会因为跟踪栈内部数组未初始化而报错。 2015-12-21 11:19:19 +00:00
nnhy 999369a6b2 F1不需要分散加载,那是130才有的问题,需要把重点代码放到系统最前面 2015-12-05 09:06:48 +00:00
WangQiang 970f39c25e 又见神秘23号中断,比GD32F103VE上更严重。 频繁程度达系统一直在中断里出不来 2015-12-04 02:49:38 +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 b44d94f6c8 372字节,不能再暴力了 2015-10-21 03:07:46 +00:00
nnhy 4c7028306e 为GD32F130增加新的编译脚本,使用F0库和M3指令集 2015-10-09 08:03:00 +00:00
nnhy ef3942a547 滴答时钟可能没有中断函数 2015-10-05 09:25:33 +00:00
nnhy f372c5391b 主要三大对象的析构函数用不着 2015-08-19 02:49:55 +00:00
nnhy 2bb9e1f713 F0保存R4~R7的值 2015-08-04 09:45:24 +00:00
nnhy 6a8c3da4d4 系统时钟虽然很重要,但是并非所有系统都需要用到系统时钟 2015-07-28 15:18:15 +00:00
Stone a4ddd63387 在GD32F130C8中时常有一个FAULT_SubHandler跳转的错误,经查是因为FAULT_SubHandler和FaultHandler离得太远,导致b跳转无法到达,因此把这两个函数指定到同一个端中,使得它们地址分布上紧挨着 2015-02-05 08:36:59 +00:00
Stone fc1e9eac75 考虑兼容STM32F0 2015-01-25 14:32:19 +00:00
Stone a6fe9654fb 内存流的销毁,增加检查 2015-01-23 08:17:13 +00:00
Stone 544002e953 异常时输出所有寄存器,便于分析异常原因 2015-01-23 07:49:33 +00:00
WangQiang e1e22d3646 转 UTF8 编码 2015-01-19 05:25:44 +00:00
Stone 94e2a2a630 发生致命异常时,输出LR/PC/PSR等寄存器内容 2014-11-21 11:37:20 +00:00
Stone 0909ccf3d3 增加线程锁Lock,用于实现同步信号。
2401模块取消锁实现,改用Lock。
测试通过,2401基本收发通过。
2014-10-23 11:41:34 +00:00
Stone ab4c9cf71f 增加IsHandler判断是否在中断里面 2014-10-20 03:00:12 +00:00
Stone 9e96789f39 中断优先级分配方案4,四位都是抢占优先级。其实上面的寄存器操作就是设置优先级方案为0
难怪0无法抢占1,原来是采用了0优先级中断组
2014-09-25 16:21:27 +00:00
Stone 784a8372ce 在STM32F4打开三大系统异常,以获取详细异常信息 2014-09-17 20:34:03 +00:00
Stone 02c2f1c94b 中断向量表固定在Flash里面。本来考虑放在RAM里面是为了可以动态修改,而现在为了增强中断函数,不得不在RAM做二级中断,该优势就变得毫无意义了。另外,放在RAM里面是为了通过增加RAM占用来降低Flash占用,而实际上Flash够用,RAM不够用,RAM更贵! 2014-09-10 12:50:46 +00:00
Stone 0b3e1273c3 调整异常处理架构 2014-09-06 06:54:29 +00:00
WangQiang 944ddf580f 2014-09-02 03:01:49 +00:00
Stone 5b53a1757b 改进内存检查方式 2014-08-30 11:05:03 +00:00
Stone bee732e244 不能使用以下代码,否则F4里面无法响应中断 2014-08-27 04:57:59 +00:00
Stone da477c31a3 以防中断向量表重定位失效 2014-08-26 12:40:53 +00:00
Stone 2e3b853fa1 使用汇编宏指令判断GD32并使用Flash中断向量表 2014-08-23 09:15:20 +00:00
Stone 7be0562645 GD32全系列无法把向量表映射到RAM,F103只能映射到Flash别的地方 2014-08-23 07:25:30 +00:00
Stone c01abfb7b4 GD32F130/GD32F103都不支持重映射中断向量表 2014-08-23 04:09:31 +00:00
Stone 529fa9cab3 解决一个警告 2014-08-22 10:28:11 +00:00
Stone 2e5d535114 STM32F4编译通过,调试程序跑起来,但是串口无输出 2014-08-22 09:20:42 +00:00
Stone f55470f528 文件编码问题 2014-08-21 13:58:18 +00:00
WangQiang 9f6ae4121f 定义个函数原型 避免编译报错 2014-08-21 02:24:04 +00:00
Stone c74d456f8f GD32F130没有办法重映射中断向量表到RAM 2014-08-20 13:30:13 +00:00
nnhy dbffea32b9 增加内存管理模块,重载new和delete,方便调试堆溢出
增加调试管理模块,调试使用的主要代码实现在此
2014-08-18 17:37:02 +00:00
Stone 81115ad273 GD32F103也可以用内存中断向量表 2014-08-18 08:51:31 +00:00
Stone 3ea630c1e8 GD32F150无法把向量表映射到RAM 2014-08-18 07:11:51 +00:00
Stone e2abc376b8 在中断模块内部增加一个宏定义,判断是用Flash向量表还是RAM向量表,改为Flash向量表可用后,重新改回来RAM,每次启动都会重启一次的问题居然消失了! 2014-08-18 05:32:35 +00:00