在Startup.s文件中包含一个startup的入口函数,该函数为EBOOT的最开始的入口。在系统上电或者冷启动的时候,这是第一个被执行的函数。该函数都是由汇编语言编写的,完成基于硬件平台的最初的初始化,也就是CPU的相关初始化,如果有必要,也可以在这里对外围的设备进行初始化。该函数执行到最后,会跳转到C语言的入口,一般是Main函数,或者叫做EBootMain函数。

这里要多说的一件事情就是在BSP当中存在两个Startup.s文件,一个是EBOOT的Startup.s用于EBOOT本身,另一个是OAL的Startup.s用于WinCE内核。在很多情况下,两个Startup.s所完成的任务非常的相近,所以一般都会合并成一个Startup.s来完成相应的功能。比如你在EBOOT的Startup.s中完成了相关的初始化操作以后,在OAL的Startup.s中只需要include位于EBOOT下的Startup.s就可以了。当然,这两个Startup.s也许不能完全一样,所以不管是真的存在两个Startup.s文件还是共用一个Startup.s文件,你可能都需要在Startup.s中通过条件编译或者判断某个变量的方法来区分。

下面具体说一下在Startup.s中,到底应该做些什么事情:

1.       在系统上电或者复位时,先将CPU设置到正确的模式下面。一般CPU本身会有几种模式,比如对于ARM来说,这个时候一般会设置为管理模式

2.       关闭所有的CPU中断。

3.       关闭内存管理单元MMU和TLB。

4.       关闭写缓冲和Cache。

5.       初始化内存控制器。

6.       设置CPU的PLL,设置时钟。

7.       创建堆栈。

8.       设置并打开MMU和Cache。

9.       如果需要,自己拷贝EBOOT从Flash到RAM中。

10.   跳转到C代码中,一般是Main函数或者EBootMain函数

整个Startup.s的流程就是这样,一般开发这段代码需要对处理器及汇编语言比较了解,其实也不是很复杂,就是做最基本的初始化,该函数一般也就几百行。调试可能稍微费劲一些,在最开始的时候一般通过点灯(Led)的方式来调试,就是说写个小的汇编函数,通过把GPIO拉高拉低来点亮和熄灭LED灯。然后在Startup.s中的不同位置调用该函数从而判断函数是否执行到相应的地方。

Startup.s文件相关推荐

  1. 利用startup.m文件设置matlab的Current Folder的默认文件夹

    转载自:新浪博客电磁兼容之家的博客 利用startup.m文件设置matlab的Current Folder的默认文件夹 startup文件是一个特殊的m文件,matlab在启动以后就会寻找其路径下的 ...

  2. STM32安装Keil5、芯片支持包、startup启动文件(启动过程分析)、建立工程、烧写

    参考:stm32入门之keil5的安装以及第一个工程的建立 作者:SKY丶丿平才 发布时间: 2020-12-06 17:08:30 网址:https://blog.csdn.net/weixin_4 ...

  3. 关于Tomcat双击startup.bat文件一闪而过问题

    原因: 这是因为我们没有配置JAVA_HOME环境变量,Tomcat本身就是java写的 解决方法 找到我们电脑的属性,打开,显示以下界面: 点击高级系统设置,进入下面的界面: 点击环境变量吗,进入下 ...

  4. ADS中startup.s文件启动分析

    映像文件分析,ADS 中startup.s 文件启动分析,学嵌入式开发ADS 必看 2010-04-17 10:21 声明: 我也是转来的,不是原创,由于别人是网易的日志,不能直接转,所以-- 感谢原 ...

  5. tomcat安装启动startup.bat文件命令行界面出现乱码的问题解决

    tomcat安装启动startup.bat文件命令行界面出现乱码的问题解决 参考文章: (1)tomcat安装启动startup.bat文件命令行界面出现乱码的问题解决 (2)http://www.c ...

  6. 1.关于tomcat的startup.bat文件闪退,而日志文件没有任何信息

    1.出现闪退问题我依照网络方法,在startup.bat文件最后加入了 pasue,来暂停服务以显示信息,加入后仍然闪退,但在cmd窗口弹出来以下信息: Using CATALINA_BASE: &q ...

  7. Tomcat-----解决startup.bat文件点击闪退问题

    1.找到Tomcat下的bin目录下的startup.bat文件 2.右键编辑startup.bat文件 在文件头添加两行代码: SET JAVA_HOME=C:\Java\JDK(JDK的路径,这里 ...

  8. 双击Tomcat目录下startup.bat文件闪退问题!!!

    双击Tomcat目录下startup.bat文件闪退问题!!! 一.普遍问题 下面这篇博客总结了可能出现的问题,非常全面,99% 闪退问题基本能解决 链接: Tomcat 启动闪退问题解决集(八大类详 ...

  9. HC32L110(四) HC32L110的startup启动文件和ld连接脚本

    目录 HC32L110(一) HC32L110芯片介绍和Win10下的烧录 HC32L110(二) HC32L110在Ubuntu下的烧录 HC32L110(三) HC32L110的GCC工具链和VS ...

  10. linux startup.sh文件所在目录,Tomcat启动脚本startup.sh分析

    一.分析说明 为了写出更加完善的tomcat启动方面的自动化脚本,健壮自己用于代码上线自动化部署的脚本,特分析下tomcat的bin目录下的starup.sh脚本,学习标准的sh脚本的编写方法,从中吸 ...

最新文章

  1. 蚂蚁金服高级技术专家徐红星 :蚂蚁金服大数据开放式创新实践
  2. secureCRT上打印乱码的一种起因
  3. ITK:使用Otsu阈值图像
  4. Android 根据Uri删除文件
  5. java面向对象的特征 —(13)
  6. eclipse修改字体大小
  7. 2017 多校联合训练 3 题解
  8. CentOS 谢幕,Anolis OS 带来无限可能的未来
  9. SQL数据库学习,常用语句查询大全
  10. win10下载CAD之后任务栏卡死
  11. 素数and约数and反素数
  12. 游戏服务器是干什么的(大话、浅析)
  13. c++ protobuf中repeated类型使用——序列化
  14. 微信新BUG曝光:好友偷偷删了你,用这招就能查出来!
  15. OCR图文识别软件是怎么从文档里复制内容的
  16. 常用的画流程图工具和脑图工具
  17. Android 数据库知识回顾
  18. memset()函数的用法详解
  19. PC端——如何屏蔽掉某网站-极度简洁-继hosts后的全新改良版~!
  20. 三维重建(单目、双目、多目、点云、SFM、SLAM)

热门文章

  1. android time计时器,android 计时器的三种实现(Chronometer、Timer、handler)
  2. 要点初见:安装教程与二度拓展——基于SUMO的Flow Project(附代码链接)
  3. win7修改驱动inf,驱动非官方美加狮XBOX360手柄
  4. tbase安全和脱敏
  5. Python学习之Craps赌博游戏篇
  6. 夏普电视服务器维修,夏普液晶电视机通病维修方法
  7. MySQL 误删数据恢复
  8. Endnote 自定义参考文献样式
  9. html 编辑器 拖动,可视化拖拽页面编辑器 一
  10. 自组织神经网络:自组织特征映射SOM网络