OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11028|回复: 5

请教一个关于MDK4.2的运行时序问题

[复制链接]

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2011-11-25 20:01:32 | 显示全部楼层 |阅读模式
MDK4.2,使用的是MDK4.2自带的启动代码,这个代码很蛋痛,一定要使用SystemInit()才能编译通过。

我写了如下代码段:
void SystemInit(void)
{
  Stm32_Clock_Init(9);
  delay_init(72);
   power_init();
 oled_init();//初始化oled
 clear(0,0,128,64,0);
 show_string(0,0,"Power_on",1,12);
 reflash_gram();
 //下面部分初始化系统其他功能
 rtc_init();//初始化RTC
 SPI_Flash_Init();//初始化Flash
 Font_Init();//初始化字库
 SD_Init();//初始化SD卡
 key_init();//初始化按  
}

int main(void)
{
  SystemInit();
  while(1)
{
//省略,由于较长
}
}



请教问题如下,在main函数里面,包含了SystemInit(),程序启动的时候,貌相不是直接有main开始运行,是从SystemInit()开始运行,也就是说,程序启动后,先运行了SystemInit(),然后再运行main,这样main函数中包含了SystemInit,就运行了两侧SystemInit了,当我注释掉main函数中的SystemInit()之后,程序居然运行到了SystemInit的初始化Flash里,后面初始化字库等都没有运行就直接跳到while(1)中运行,所以对MDK的运行时序不是很明确,特求解答。
Time?And?Relative?Dimension?In?Space.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-11-25 20:39:49 | 显示全部楼层
这个是因为在.s文件里面调用了SystemInit这个函数.
但是至于为什么其他的没运行,就直接运行到了你说的flash初始化,我就不明确了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
 楼主| 发表于 2011-11-25 21:03:16 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
那估计要研究一下那个.s了。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

9

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-10-21
在线时间
4 小时
发表于 2011-11-25 21:20:13 | 显示全部楼层
反正我每次是把systeminit(){}空着写在前头,其他Stm32_Clock_Init(9);等东西一概放在int main()里面 顺利通过
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
 楼主| 发表于 2011-11-27 00:26:37 | 显示全部楼层
回复【4楼】城南小卒:
---------------------------------
结果我还是用你这种方式处理~~~
MDK太蛋痛,更新一个版本,把启动文件也更新了,还要弄到别人不用他的启动函数编译不过。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-11-27 01:13:50 | 显示全部楼层
最好搞一套自己留着用,呵呵/
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 13:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表