娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月02日(星期一)

2018年06月02日 | IAR for STM8 研究

發布者:hxcp18 來源: eefocus關鍵字:IAR  STM8 手機看文章 掃描二維碼
隨時隨地手機看文章

最近移植了一個UCOSII到STM8L,先從編譯器談起。

由于IAR與VC++很像,所以直接就選用了它。

1. 函數參數傳遞

了解到它用了16個虛擬寄存器(也可以配置成12個)作為局部變量和函數參數傳遞。地址從0x00~0x0F。從MAP文件中可以看到。注意0地址是RAM的,所以函數中對指針的判斷要特別注意。

從調試時反匯編代碼可以看到,C函數調用開始前都需要調用系統的一些函數用于保存參數,但在匯編里的函數就必須自己保存。比如中斷回調函數:

匯編:

         PUBLIC _interrupt_29            //UART_TXE irq
        SECTION `.far_func.text`:CODE:NOROOT(0)
_interrupt_29:          //vector number on datasheet + 2, don't ask me why. zhw  
        SAVE_VREGS  //這個非常重要,由于有C函數調用,編譯器會用到VREGS
         CALLF     UART_TxEmptyIrqHandler
        RESTORE_VREGS         
         IRET
       

其中宏:

SAVE_VREGS  MACRO        
        push s:?b0
        push s:?b1
        push s:?b2
        push s:?b3
        push s:?b4
        push s:?b5
        push s:?b6
        push s:?b7 
        push s:?b8
        push s:?b9
        push s:?b10
        push s:?b11
        push s:?b12
        push s:?b13
        push s:?b14
        push s:?b15 
        ENDM       


RESTORE_VREGS  MACRO     
        pop s:?b15
        pop s:?b14
        pop s:?b13
        pop s:?b12
        pop s:?b11
        pop s:?b10
        pop s:?b9
        pop s:?b8      
        pop s:?b7
        pop s:?b6
        pop s:?b5
        pop s:?b4
        pop s:?b3
        pop s:?b2
        pop s:?b1
        pop s:?b0            
        ENDM  

C函數:

#pragma vector = 29        
 __interrupt void Irq_UARTTxHandler ( void )
{
   
    UART_TxEmptyIrqHandler();
}


看起來C代碼簡潔,但實際從實際效率來看,匯編的效率更好。


2. 環境配置

主要是配置你選用的芯片型號。另外還有系統堆棧大小和堆的大小。根據實際配置可節省RAM空間。如果要編譯庫(如FWLIB)也是在Options里面配置。


關鍵字:IAR  STM8 引用地址:IAR for STM8 研究

上一篇:IAR ARM、IAR STM8、IAR MSP430共用一個IDE
下一篇:stm8 ADC模數轉換

推薦閱讀

太陽能電池用于道路照明,目前正迅速地發展,與之配套的蓄電池點燃35W一70W小功率高壓鈉燈、金鹵燈泡時,所用鎮流器必須功耗小、效率高,才能達到最佳的電光轉換效率。本文介紹的該電子鎮流器,靜態電流150mA,效率95%,屬于自觸發電路。現將電路分析如下。1.逆變電路 電路見圖1,蓄電池DC24V電壓經C1濾波ICl穩壓后,得到15V電壓,供后級IC2和Vl工作,其...
隨著5G時代的即將到來,越來越多的企業開始著手布局5G,而智能汽車作為5G時代中重要的一環,可以說在未來很有可能會改變我們的生活。  近日,華為內部由任正非親自簽發組織變動文件,華為成立智能汽車解決方案業務部,歸ICT管理委員會直管。任命了此前華為無線網絡業務部和日本運營商業務部總裁王軍為智能汽車解決方案業務部的總裁。  華為智能汽車解...
2020年6月2日消息,鴻海 (2317)于昨日宣布,將與凌華 (6166)合資成立自主移動機器人公司,由鴻海持股51%,凌華持股49%,預計在今年第三季度開始營運。鴻海表示,此間公司將會整合即時資訊互連、自主系統排程與行動導航平臺等技術,強化自主機器人群集功能,滿足多元應用場域。凌華布局機器人和智慧工廠相關技術已久,除了日前獲得友達集團入股,并...
許多初學MSP430單片機的童鞋,在購買開發板之后不知道如何建立工程,編寫代碼并調試單片機,下面,小編將圖文介紹MSP430開發環境搭建。一、安裝IAR IDE首先安裝IAR for MSP430 編譯器,可以到IAR官網下載;可以選擇試用版本亦或是下載后破解軟件;二、建立工程打開IAR for MSP430軟件,點擊Project/Create New Project...在彈出菜單中選擇C/main點...

史海拾趣

問答坊 | AI 解惑

電路板設計求救?急〉〉〉〉〉〉。

小弟要設計一電路板,輸出要求bnc接口的,求助各位高手直接焊到板子上的bnc接口的型號,及封裝?先謝拉。…

查看全部問答∨

這樣的干擾怎么解決?請賜教

本人設計的工業儀表,遇到這樣的問題:輸入信號0-20MV。當用手觸摸輸入端子的時候,顯示值會波動,這是什么干擾(好象是串模干擾),如何解決?注明:信號是經過了2個模擬開關(CD4051),由OP07放大 再采樣。…

查看全部問答∨

2007年大學生電子設計競賽作品選

本帖最后由 paulhyde 于 2014-9-15 04:16 編輯 2007年大學生電子設計競賽作品選  …

查看全部問答∨

怎樣寫testbench

前段時間看到有人在問,現分享下 有vhdl的testbench詳細例子,verilog的誰有,給分享下…

查看全部問答∨

實在不想干了,怎么找老板要年終獎

最近很郁悶,實在不想干了,想拿年終獎走人。省得年底又趕上春運高峰,想問老板要年終獎,怎么說比較好啊?         多謝多謝。…

查看全部問答∨

晶振的好壞鑒別方法

晶振的好壞鑒別方法…

查看全部問答∨

LPC1114資料匯總

LPC1114 datasheet深度解析LPC1100低功耗設計的七個秘密以LPC1100產品進行設計32位MCU開發全攻略上32位MCU開發全攻略下LPC1000 系列 Q&A及支持 …

查看全部問答∨

pxa3XX 從CF卡上啟動nk.bin 的bootloader

    請問各位大俠有誰做過pxa310或者pxa270的bootloader 要求從CF卡啟動nk.bin       我應該用什么軟件來編譯,用wce6.0 還是ARM提供的AXD     是不是wce6.0下生成bootimage.nb0 就是bootloader 我用仿 ...…

查看全部問答∨

STVP的缺陷!

經過驗證,STVP軟件對STM32燒錄的支持有重大缺陷.版本是3.2.0 問題是 1.    當不使用STVP的"project"菜單建立并打開STP工程文件時,只通過configure選擇STLINK及STM32型號,然后通過open打開一個.HEX文件進行下載,可以燒錄STM32( ...…

查看全部問答∨

FATFS下寫中文文件亂碼的問題

我在SD卡里面創建一個“我們.txt”文件,結果在PC機上看到文件名為“컒쏇.txt”。 創建“我們.txt”文件,并給此文件里面寫一段中文,里面的中文都很正常。就是文件名為“컒쏇.txt”   不過用FileScanName函數可以 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 平谷区| 竹溪县| 台湾省| 钟山县| 平舆县| 广汉市| 上犹县| 呼和浩特市| 杨浦区| 台东县| 枝江市| 和田市| 黑河市| 建湖县| 横山县| 张掖市| 民勤县| 汝州市| 香格里拉县| 天津市| 蒙城县| 云和县| 江永县| 桐梓县| 大化| 德令哈市| 承德县| 桐乡市| 布尔津县| 海晏县| 思南县| 邹城市| 定安县| 蓝田县| 博罗县| 郧西县| 保定市| 广宁县| 通州区| 龙川县| 吴桥县|