0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

新版IAR調(diào)試查看寄存器方法

5RJg_mcuworld ? 來源:未知 ? 作者:李倩 ? 2018-09-14 17:51 ? 次閱讀

今天寫兩個后臺問的較多的問題,如標(biāo)題所示:

1.新版IAR調(diào)試查看寄存器問題;

2.STM8代碼大小優(yōu)化問題;

1新版IAR調(diào)試查看寄存器問題

從去年上半年開始,IAR將各開發(fā)環(huán)境逐漸進(jìn)行了大升級,首先是將EWARM從V7升級到了V8。然后,陸續(xù)將EW430、EWAVR等進(jìn)行了升級。

什么是新版IAR?圖標(biāo)是黑色那種,如EWARM V8.2、 EWSTM8 V3.1。如下圖:

老版本IAR,扳手工具圖標(biāo)。如下圖:

許多小伙伴安裝了新版的IAR,不管是EWARM、EW430還是EWSTM8,都出現(xiàn)了一個問題:調(diào)試時,“不能”查看外設(shè)寄存器了。

如下面動畫,查看了各主菜單,以及View視圖各個子菜單,都沒有如之前那種可以直接查看寄存器的窗口:

而老版本就會有如下圖可以直接查看寄存器的窗口:

說實話,我這一年很多時間都是在寫業(yè)務(wù)邏輯相關(guān)的代碼,這個功能這一年沒去在意過。很多朋友在后臺問我,我也沒抽時間去研究。

這不前面寫了一篇在較小資源上跑一個實時操作系統(tǒng),后臺有朋友問了該如何優(yōu)化代碼,我大概回答了一點(diǎn)可以優(yōu)化標(biāo)準(zhǔn)外設(shè)庫為操作寄存器,所以使用到了該功能,所以我就抽時間看了一下這個功能。

好了,不賣關(guān)子了,直接說答案吧,操作基本一樣,只是新版IAR隱藏了下拉選項。直接看下圖你就會明白。

新版IAR調(diào)試查看寄存器方法

進(jìn)入調(diào)試模式 -> View -> Registers(1-4都行) -> CPURegister右鍵 -> ViewGroup,此時你就可以選擇了,如下圖:

相信到這里,你不可能不會了。

2

STM8代碼大小優(yōu)化問題

因為前面寫了一篇文章《一款可以在STM8上運(yùn)行的實時操作系統(tǒng)Atomthreads》,很多朋友問,像8K的FLASH資源跑一個系統(tǒng),寫點(diǎn)應(yīng)用程序都用完了。

既然使用STM8可以跑系統(tǒng),資源的問題肯定有關(guān)系。但如果你選定了該芯片,想辦法或許是可以解決的呢。

這么說吧,我在STM8S003(1K RAM 8K FALSH)跑四個線程,還有兩個隊列,沒有出現(xiàn)什么問題。

本節(jié)我簡單說兩點(diǎn)比較常見的優(yōu)化STM8代碼的方法:

1.不使用標(biāo)準(zhǔn)外設(shè)庫自帶的斷言

在表準(zhǔn)外設(shè)庫里面常看類似如下代碼:

assert_param(IS_GPIO_MODE_OK(GPIO_Mode));

assert_param(IS_GPIO_PIN_OK(GPIO_Pin));

這就是庫自帶用于檢查參數(shù)的代碼,但如果資源有限,可以在最終關(guān)閉斷言代碼。(調(diào)試時可以選擇代碼兼容的大容量芯片調(diào)試)。

在stm8s_conf.h中屏蔽即可:

2.將標(biāo)準(zhǔn)外設(shè)庫修改成直接操作寄存器

使用表準(zhǔn)外設(shè)庫配置,通過在線調(diào)試,查看寄存器值,最后直接寫寄存器代碼即可。類似如下:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5359

    瀏覽量

    120813
  • IAR
    IAR
    +關(guān)注

    關(guān)注

    5

    文章

    354

    瀏覽量

    36729

原文標(biāo)題:新版IAR調(diào)試查看寄存器問題和STM8代碼大小優(yōu)化問題,本文來解決!

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    寄存器查看器的功能和使用

    對于搞嵌入式底層開發(fā)的軟件或者硬件工程師來說,經(jīng)常會涉及到查看芯片手冊,比如某個芯片的串口控制寄存器值,需要知道這個值對應(yīng)寄存器的哪些位,微軟計算
    的頭像 發(fā)表于 11-28 12:26 ?2120次閱讀
    <b class='flag-5'>寄存器</b><b class='flag-5'>查看器</b>的功能和使用

    KDS集成開發(fā)環(huán)境查看寄存器方法

    寄存器值。其實這個問題在KDS集成開發(fā)環(huán)境剛出來時就已存在,包括目前飛思卡爾官網(wǎng)上能下載到的最新版本KDS2.0.0亦是如此。為了避免此問題對大家調(diào)試芯片模塊功能造成不必要的麻煩,在此與各位分享一下解決此問題的
    發(fā)表于 03-04 16:53

    【新手求教】IAR仿真 msp430 怎么查看SYSRSTIV寄存器的值

    程序總是自動重啟,想查看一下重啟源。之前沒有使用過IAR,這個軟件在仿真時怎么查看單片機(jī)寄存器內(nèi)的值呢?
    發(fā)表于 05-27 21:00

    IAR FOR ARM 8.10.1 調(diào)試寄存器只有cpu寄存器

    新版iar 寄存器窗口好像改了怎么開外設(shè)寄存器??
    發(fā)表于 11-09 15:59

    vscode中調(diào)試如何查看寄存器?

    在VSCODE 中打開了 OPENOCD ,可以進(jìn)行DEBUG 調(diào)試,但是如何查看 某個寄存器 的值呢。
    發(fā)表于 02-21 07:43

    寄存器查看小工具

    寄存器查看小工具
    發(fā)表于 04-26 16:51 ?99次下載

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定義  寄存器是中央處理內(nèi)的組成部分。寄存器是有限存貯容量
    發(fā)表于 03-08 14:26 ?2.2w次閱讀

    FPGA 調(diào)試 – 外設(shè)寄存器視圖

    作為設(shè)計者,在 FPGA 設(shè)計中您可以訪問眾多外設(shè)器件的內(nèi)部 寄存器 。一旦將FPGA設(shè)計下載到目標(biāo)器件中并且代碼已經(jīng)運(yùn)行在相應(yīng)處理上,與這些寄存器進(jìn)行交互的典型方法是通過嵌入
    發(fā)表于 05-15 11:49 ?3396次閱讀
    FPGA <b class='flag-5'>調(diào)試</b> – 外設(shè)<b class='flag-5'>寄存器</b>視圖

    IAR STM8寄存器例程

    這是stm8f103的iar寄存器例程,非常適合學(xué)習(xí)。
    發(fā)表于 04-01 14:36 ?7次下載

    微控制寄存器調(diào)試

      嵌入式系統(tǒng)的軟件調(diào)試通常側(cè)重于代碼執(zhí)行、存儲的值、堆棧指針、中斷時間和寄存器的值。在這篇文章中,我們將向你展示如何使用ARM版的IAREmbeddedWorkbench調(diào)試
    發(fā)表于 09-20 17:24 ?5次下載
    微控制<b class='flag-5'>器</b>的<b class='flag-5'>寄存器</b>的<b class='flag-5'>調(diào)試</b>

    寄存器操作方法_對寄存器操作的通用方法總結(jié)

    本文主要詳解寄存器操作方法以及對寄存器操作的通用方法總結(jié),具體的跟隨小編來了解一下。
    的頭像 發(fā)表于 05-22 15:53 ?2.3w次閱讀

    開發(fā)一個Linux調(diào)試器就必須要知道寄存器和內(nèi)存!

    在我們正真的讀取寄存器前,調(diào)試器需要知道一些關(guān)于x8664架構(gòu)的相關(guān)知識。包括通用寄存器,專用寄存器以及浮點(diǎn)寄存器和向量
    發(fā)表于 05-14 17:28 ?1496次閱讀

    新版IAR調(diào)試查看寄存器問題 STM8代碼大小優(yōu)化問題

    新版IAR調(diào)試查看寄存器問題、STM8代碼大小優(yōu)化問題
    的頭像 發(fā)表于 03-07 16:13 ?4086次閱讀

    IAR 在線調(diào)試查看各種變量的不同方法

    IAR在線調(diào)試查看各種變量的不同方法
    的頭像 發(fā)表于 03-12 10:00 ?1.4w次閱讀

    CPSR寄存器和APSR寄存器的組成

    程序狀態(tài)寄存器的作用就是反映處理的狀態(tài)信息。在程序運(yùn)行期間我們可以通過查看程序狀態(tài)寄存器的狀態(tài)位來進(jìn)行程序的分支跳轉(zhuǎn)處理,或者我們可以設(shè)置程序狀態(tài)
    的頭像 發(fā)表于 10-20 11:38 ?4789次閱讀
    CPSR<b class='flag-5'>寄存器</b>和APSR<b class='flag-5'>寄存器</b>的組成