打印
[应用方案]

改进之后的EmBITZ新唐M051系列ARM文件向导

[复制链接]
1489|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Lbsonggz|  楼主 | 2017-4-7 09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
修改了main.c文件,增加了#ifndef宏定义,并将初始化函数SystemInit放入其中

/*与启动文件和ld配置文件匹配,SystemInit()函数不可删除*/
#ifndef __NO_SYSTEM_INIT
void SystemInit (void) {}
#endif

这个语句的意思是:ld文件如果没有定义__NO_SYSTEM_INIT,系统则执行SystemInit(),虽然也是一个空函数。

EmBITZ_Nuvoton.zip

24.43 KB

沙发
yiyigirl2014| | 2017-4-7 11:44 | 只看该作者
有了这个空函数,能有什么作用?

使用特权

评论回复
板凳
yiyigirl2014| | 2017-4-7 11:45 | 只看该作者
不是很理解,虽然经常见到这种用法。。

使用特权

评论回复
地板
Lbsonggz|  楼主 | 2017-4-7 12:46 | 只看该作者
条件编译。如果ld文件定义了__NO_SYSTEM_INI,就不再编译void SystemInit (void) {}。否则,编译void SystemInit (void) {}函数。

使用特权

评论回复
5
zhuomuniao110| | 2017-4-8 11:20 | 只看该作者
是不是那个空函数的目的是让自己写代码呢。

使用特权

评论回复
6
Lbsonggz|  楼主 | 2017-4-8 12:53 | 只看该作者
空函数即可,不用添加任何代码

使用特权

评论回复
7
yiy| | 2017-4-8 13:15 | 只看该作者
第一次见这个软件,下载看看。

使用特权

评论回复
8
xixi2017| | 2017-4-9 15:56 | 只看该作者
空函数可以实现什么具体的功能?

使用特权

评论回复
9
稳稳の幸福| | 2017-4-9 16:50 | 只看该作者
给力,自己编写这个文件的人不多。

使用特权

评论回复
10
Lbsonggz|  楼主 | 2017-4-9 17:46 | 只看该作者
看函数名字就知道,系统初始化。因为ld文件和启动文件中有这个函数的声明,需要有对应的实现函数,可以把自己的引脚功能定义,定时器初始化等功能放在里面,也可以是空函数,另外写自己的初始化功能。一般把这个函数写成空函数,另外写自己的初始化函数

使用特权

评论回复
11
598330983| | 2019-3-20 22:06 | 只看该作者
楼主后来搞了哪些优化和贡献,分享分享。是不是这个软件作者停止更新了。

使用特权

评论回复
12
wdliming| | 2019-3-21 16:37 | 只看该作者
Lbsonggz 发表于 2017-4-9 17:46
看函数名字就知道,系统初始化。因为ld文件和启动文件中有这个函数的声明,需要有对应的实现函数,可以把自 ...

ld文件没有调用SystemInit啊~~~

使用特权

评论回复
13
Lbsonggz|  楼主 | 2019-9-23 09:05 | 只看该作者
wdliming 发表于 2019-3-21 16:37
ld文件没有调用SystemInit啊~~~

注意startup_ARMCM0.s这个启动文件,里面有这么三句
#ifndef __NO_SYSTEM_INIT
    bl    SystemInit
#endif

意思就是如果没有定义SYSTEM_INIT这个宏,就要在main.c中执行SystemInit()函数。解决的办法有四个:
1.在main.c中定义一个空的SystemInit(),自己另外写初始化函数,作者提供的例程就是这么解决的
2.在main.c中把所有初始化的内容放入SystemInit(),不再定义自己的初始化函数
3. 使用“//”注销这么三句,就无须在main.c中定义SystemInit()函数
4. 在main.c中直接定义 这个宏  #define  SYSTEM_INIT

任选其一即可

使用特权

评论回复
评论
wdliming 2019-10-10 20:50 回复TA
谢谢! 
14
幸福小强| | 2019-9-24 21:04 | 只看该作者
真是666,其他工程的启动文件没法在里面用吧?

使用特权

评论回复
15
yiy| | 2019-9-24 23:16 | 只看该作者
估计这个软件很难升级了,我看作者写的他工作比较忙

使用特权

评论回复
评论
Lbsonggz 2019-10-11 18:32 回复TA
打算参考这个自己写一个 
16
yiy| | 2019-10-16 11:41 | 只看该作者
楼主到时候别忘了发布啊。或者给个思路,大佬们一起做一个。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

240

帖子

7

粉丝