历史上的今天

今天是:2024年09月13日(星期五)

正在发生

2021年09月13日 | jz2440裸机开发与分析: 点亮LED灯之C语言3

发布者:王大雷 来源: eefocus关键字:jz2440  点亮LED灯 手机看文章 扫描二维码
随时随地手机看文章

对于之前提出了栈这一概念下面我们要提出问题:

1.为何要使用栈

答:c函数要用

2.如何使用栈

答:a.保存局部变量 b.保存lr等寄存器

3.调用者如何传参数给被调用者


start.s

.text

.global _start


_start:


/* 设置内存: sp 栈 */

ldr sp, =4096  /* nand启动 */

// ldr sp, =0x40000000+4096  /* nor启动 */


mov r0, #4

bl led_on


ldr r0, =100000

bl delay


mov r0, #5

bl led_on


halt:

b halt

c代码

void delay(volatile int d)

{

while (d--);

}

int led_on(int which)

{

unsigned int *pGPFCON = (unsigned int *)0x56000050;

unsigned int *pGPFDAT = (unsigned int *)0x56000054;

if (which == 4)

{

/* 配置GPF4为输出引脚 */

*pGPFCON = 0x100;

}

else if (which == 5)

{

/* 配置GPF5为输出引脚 */

*pGPFCON = 0x400;

}

/* 设置GPF4/5输出0 */

*pGPFDAT = 0;

return 0;

}


传参数mov r0, #4或 mov r0, #5 注意:r0-r3 为参数/结果寄存器

4.被调用者如何传参数给调用者

5.如何从栈中恢复那些寄存器


关键字:jz2440  点亮LED灯 引用地址:jz2440裸机开发与分析: 点亮LED灯之C语言3

上一篇:jz2440裸机开发与分析: 点亮LED灯之C语言2
下一篇:jz2440裸机开发与分析:串口编程2

推荐阅读

2019年9月11日,“物联世界 传感先行”第七届国际物联网传感技术峰会如约举行。三年之后,大会二临温州乐清,展望全球传感器、中国物联网应用领域未来发展趋势,探讨物联网、传感、智慧城市、大数据、AI等产业现状,共谋我国规划传感器、物联网应用未来的发展路线图,加速产业成熟。本届峰会由国家工业信息安全发展研究中心、德国传感与测量技术专业协会...
9月8日消息,MIUI官微宣布,MIUI 12第二批稳定版已完成全量推送!  第二批支持机型共14款:小米8、小米8屏下指纹版、小米8透明探索版、小米MIX3、小米MIX2S、小米9 SE、小米CC9 Pro、小米CC9、小米CC9美图定制版、Redmi Note 8 Pro、红米Note7、红米Note 7 Pro、Redmi 10X、Redmi 10X Pro。  升级方法:稳定版用户在“设置-我...
2021年4月30日,SAE发布了第四版J3016《驾驶自动化分级》,这是即2014年1月16日、2016年9月30日、2018年6月15日之后,J3016的又一次迭代更新。2021年7月,ISO发布了ISO 22737《预定路线的低速自动驾驶(LSAD)性能要求、系统要求和性能测试规范》。本系列将详细解读自动驾驶ODD、DDT、DDT fallback、OEDR、低速自动驾驶和自动驾驶分级。基本概念自动驾驶...

史海拾趣

问答坊 | AI 解惑

动手做一个测速计、频率计(含VC源代码)

设计初衷     在单片机软硬件开发中,常常需要测量出电机转速、某个规则信号的频率等,买一个频率计又不划算,于是打算自己做一个,够用就行。 一开始打算用单片机,考虑到焊板、编程、烧录等等工作量,还不如就地取材,使用手头上的Ea ...…

查看全部问答∨

电子工程师必上的十大专业网站

电子工程师必上的十大专业网站 在电子产业混,情报能力是相当重要的,具体体现在一要能及早全面地获得最新的设计资讯,二要能认识一些专家级的大虾,当有设计难题时,这些大虾可以伸出热情的手拉你一把,则对你的设计会帮助很大的。小可我在电子产 ...…

查看全部问答∨

将每日领芯币做成一个按钮

我看到论坛中每日领芯币那里还得人工加芯币,不如做成如果当天第一次上论坛可以点击一下就得到了那样不就智能点了!…

查看全部问答∨

2010年吉林省电子竞赛讨论

本帖最后由 paulhyde 于 2014-9-15 09:48 编辑 今年我参加了吉林省的电子竞赛 哪位大侠能发表自己对今年比赛的一些看法,可以使题目的分析和预测,如果遇到问题希望各位高手多多指点  …

查看全部问答∨

wince Group Box里面的Button控件不响应消息函数?

平台:vs2005 wince5.0 MFC智能设备应用程序。 我在Dialog上添加一个GroupBox(m_cgbpicture),然后在GroupBox上添加一Button,可程序运行后Button(ctxttvbright)跟GroupBox并没有自动关联, 于是我在OnInitDialog()中用m_ctxttvbright.SetPar ...…

查看全部问答∨

Wince生成系统时错误,请好心人帮下忙~~~~

我是一个做WinCE得新手,用得是Sumsung2410得板子,导入BSP后,生成系统时出现了以下错误,在网上搜了半天也不知道到底怎么解决 请高手指点一二,不胜感激 BUILD: [01:0000000696:ERRORE] init.obj : error LNK2001: unresolved external symbo ...…

查看全部问答∨

AME1117稳压管突然爆炸

今天在用MSP430F149进行PWM控制直流电机调试,电压7.2V,稳压管ame1117突然冒烟然后就爆炸。电路稳定运行了很久,突然出现了这个问题,真是莫名其妙…

查看全部问答∨

PADS2005教程

希望能有帮助…

查看全部问答∨

求助: 大侠帮忙拉!!急需压力传感器

    本人由于设计需要,急需一款压力传感器, 最好是圆柱形, 直径大约在70mm左右,厚度在10mm左右。      万分感谢!!…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved