首页 > 其他分享 >ARM MDK开发中的\$Super\$\$main与\$Sub\$\$main

ARM MDK开发中的\$Super\$\$main与\$Sub\$\$main

时间:2024-09-30 18:01:31浏览次数:9  
标签:__ MDK R0 Sub defined main Super ARM

参考
一般在.s文件中通过类似如下代码来跳入__main中,也就是$Sub$$main函数中:

              ; reset Vector table address.
                LDR     R0, =0xE000ED08 
                STR     R2, [R0]

                LDR     R0, =SystemInit
                BLX     R0
                LDR     R0, =__main
                BX      R0
                ENDP

当代码中出现如下代码时,一般表示使用$Super$$main来跳入main函数中,只是使用宏定义的方式去替换$Super$$mainmain

    /* invoke system main function */
#if defined(__CC_ARM) || defined(__CLANG_ARM)
    //$Super$$main(); /* for ARMCC. */
#elif defined(__ICCARM__) || defined(__GNUC__)
    main();
#endif

标签:__,MDK,R0,Sub,defined,main,Super,ARM
From: https://www.cnblogs.com/yinsua/p/18442291

相关文章

  • Qt项目中,在main.cpp中定义了一个自定义组件,但是在编译的时候报错`undefined reference
    1、问题描述我在测试Qt项目的main.cpp中编写了如下代码:classMyWidget1:publicQWidget{Q_OBJECT};//main程序入口argc命令行变量的数量argv命令行变量的数组intmain(intargc,char*argv[]){//应用程序对象,在Qt中应用程序对象有且仅有一个QAppl......
  • java-快速将普通main类变为javafx类,并加载自定义fxml
    java-快速将普通main类变为javafx类,并加载自定义fxml前提步骤1.普通类继承Application2.实现main方法3.写一个controller4.写一个fxml文件5.写start方法加载fxml6.具体代码7.运行即可前提使用自带javafx的jdk,这里使用的是jdk1.834,当然你可以使用其他的可行......
  • 第2天:熟悉Android Studio补充材料——`activity_main.xml`解读
    下面是对“第2天:熟悉AndroidStudio”该文学习的更深层次的补充材料,对activity_main.xml文件的理解。下面对activity_main.xml文件中每一行进行详细解释:<?xmlversion="1.0"encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="ht......
  • 题解 CF407D【Largest Submatrix 3】/ SS240928C【c】
    题目描述给定一个\(n\timesm\)的正整数矩阵,求其中最大的满足其中不存在两个位置数值相等的子矩阵大小。\(1\leqn,m\leq400\)。本题有多种做法,而你需要寻找常数最小的做法才能通过本题。solution链表+双指针枚举上边界,逐渐下移下边界,枚举左边界,尝试双指针获得右边界......
  • 要求实现一个函数 DoubleToStr(double a,int b,char * str),将参数 a 转化为字符串 str
    sprintf函数:sprintf(str,"%.*f",b,a);:sprintf是一个格式化输出函数,类似于printf,但它将输出写入到字符串中而不是标准输出。"%.*f":#include<stdio.h>//将双精度浮点数a转换为字符串str,小数点后保留b位voidDoubleToStr(doublea,intb,char*str){  //......
  • 记ffmpeg subtitles滤镜切换字幕卡顿
    1.subtitles卡顿偷懒在项目中使用ffmpeg的subtitles滤镜进行字幕渲染。后来发现,使用滤镜切换字幕时会出现卡顿。经过进一步测试与代码调式确认,在播放一个时长在一个小时以上的视频文件的内挂字幕时,滤镜初始化花费了较长的时间。使用ffplay+subtitles滤镜播放该文件并显示字幕......
  • 使用 LlamaIndex 进行 CRAG 开发用来强化检索增强生成
    提升AI模型的准确性与可靠性©作者|NinjaGeek来源|神州问学介绍检索增强生成(RAG)彻底改变了使用大语言模型和利用外部知识库的方式。它允许模型从文档存储的相关索引数据中获取信息用以增强其生成的内容,使其更加准确和信息丰富。然而,RAG并非完全无缺。它有时会检索出不......
  • Balanced Subsequences
    首先知道结论:折现图上最低点的纵坐标为\(k-m\)。简单证明:考虑贪心这匹配过程(左括号+1,右括号-1),每次如果遇到向下的小于0的段,我们把其抹平,然后让后面所有点都+上某个值,最后一直这样操作,答案就是在y正轴上面的右括号/-1/下降个数。感性理解就是对于那个最低的在y负半轴......
  • 前端使用webpack本地实现编译时出现错误[cached] 1 asset ERROR in main Module not
    一:概述Webpack是一个现代JavaScript应用程序的静态模块打包工具。它主要用于将JavaScript代码、CSS、图片等资源模块化管理,并最终打包成一个或多个文件,方便在浏览器中使用。以下是对Webpack的详细介绍:主要特点模块化:Webpack支持ES6模块、CommonJS和AMD模块,能够将各种......
  • ArduSub程序学习(11)--EKF实现逻辑①
    1.read_AHRS()进入EKF,路径ArduSub.cpp里面的fast_loop()里面的read_AHRS();//从AHRS(姿态与航向参考系统)中读取并更新与飞行器姿态有关的信息voidSub::read_AHRS(){//PerformIMUcalculationsandgetattitudeinfo//-------------------------------------......