<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CPK-RA6M4評估板入門指南(三)

我快閉嘴 ? 來源:瑞薩MCU小百科 ? 作者:瑞薩MCU小百科 ? 2022-09-16 12:54 ? 次閱讀

CPK-RA6M4評估板入門指南

開發環境

e2 studio:2021-04版

FSP:v3.1.0

目錄

  1. 首次使用瑞薩CPK-RA6M4評估板

  2. 下載并測試示例

  3. Hello World! – Hi Blinky!

  4. 使用實時操作系統

  5. 使用“靈活配置軟件包”通過USB端口發送數據

  6. 《CPK-RA6M4評估板入門》的文件列表

3. Hello World! – Hi Blinky!

本章內容基于《瑞薩RA MCU基礎知識》中的章節8. Hello World! – Hi Blinky! 所作。

3.2 使用FSP配置器設置運行環境

FSP配置器啟動后,將為您提供項目的只讀摘要和所選軟件組件的簡短概述。此外,它還提供了快捷方式,可方便地訪問視頻網站上的瑞薩RA頻道、瑞薩官網上的瑞薩設計與支持頁面(可在其中訪問文檔、知識庫和Renesas Rulz論壇)以及硬盤上的FSP用戶手冊。

612cc78c-3577-11ed-ba43-dac502259ad0.jpg

圖3-8:e2 studio內部的“FSP Configuration”(FSP配置)透視圖

在以下名為BSP的選項卡中,可以查看和編輯設置的多個方面,例如電路板和器件選擇。在此選項卡的屬性視圖中,可以為板級支持包進行其他設置,例如,主堆棧的大小或MCU的某些安全功能。在之后的“Clocks”時鐘)選項卡中,可以為您的項目分配初始時鐘配置。任何潛在的問題都將以紅色突出顯示,將鼠標懸停在突出顯示的位置上將出現有關沖突或設置不完整的說明。

第四個選項卡Pins”(引腳)涵蓋了RA MCU的引腳分配??梢愿鶕丝诨蛲庠O列出引腳。如果設置不兼容或缺失,則配置器右側的“Package View”(封裝視圖)會顯示器件的封裝,突出顯示所配置的引腳并標記錯誤。“Problems”(問題)視圖以及“Pin Conflicts”(引腳沖突)視圖中也會顯示這些內容。這樣,便可將可能的錯誤減少到最低限度。

接下來是“Interrupts”(中斷)選項卡??梢栽诖颂幹付ㄓ脩舳x的(即非FSP)驅動程序如何使用單片機的中斷控制器單元(ICU),以及將哪個中斷服務程序(ISR)與ICE事件(中斷)相關聯。此外,還可以在此處查看分配的所有ICU事件的完整列表,包括由在配置器的“Stacks”(棧)視圖中創建的FSP模塊實例生成的ICU事件。

“Event Links”(事件鏈接)選項卡具有類似作用??梢栽诖颂幹付寗映绦蛉绾卧赗A項目中使用事件鏈接控制器(ELC),并且可以聲明此類驅動程序可能通過一組外設功能產生一組ELC事件或使用一組ELC事件。

需要花費大部分時間的頁面為“Stacks”(棧)頁面,可以在其中創建RTOS線程和內核對象,以及FSP軟件棧??梢蕴砑硬煌膶ο蠛湍K,并且可以在“Properties”(屬性)視圖中修改其屬性。所有這些對象和模塊都將自動插入,直到降至需要用戶干預的程度為止。在這種情況下,一旦鼠標懸停在模塊上,便會將需要注意的模塊標記為紅色,同時給出必要設置或問題的說明。如果問題解決,模塊將恢復為標準顏色。

“Stacks”(棧)視圖本身以圖形方式顯示各種棧,可讓您輕松跟蹤不同的模塊。在我們的示例中,僅顯示了一個具有一個模塊的線程:在r_ioport上使用g_ioport I/O端口驅動程序的HAL/通用線程。它是由項目配置器自動插入的,允許我們僅用幾行代碼便可編寫讓LED閃爍的程序。

最后一個選項卡的名稱是“Components”(組件),其中顯示了不同的FSP模塊并可對模塊進行選擇。它還列出了可用的RA CMSIS軟件組件。不過,最好通過“Stacks”(棧)頁面在當前項目中添加或刪除模塊,因為還可以在其中進行配置。

對于我們的項目,無需在FSP配置器中進行任何更改,因為項目配置器已經為我們進行了所有必要的設置。最后,需要創建基于當前配置的附加源代碼。單擊FSP配置器右上角的“Generate Project Content”(生成項目內容)按鈕。此操作將從FSP中提取所需文件,將其調整為在配置器中進行的設置,然后將其添加到項目中。

3.3 編寫前幾行代碼

獲取所有自動生成的文件之后,接下來查看創建的內容。IDE左側的“Project Explorer”(項目資源管理器)列出了當前包含的所有內容。ra_gen文件夾保存通道號等配置集。src目錄包含一個名為hal_entry.c的文件。這是稍后要編輯的文件。請注意,盡管在ra_gen文件夾中有一個名為main.c的文件,但用戶代碼必須轉到hal_entry.c中。否則,如果您在FSP配置器中進行修改并重新創建項目內容,則更改會丟失,因為每次單擊“Generate Project Content”(生成項目內容)時,都將覆蓋該文件。

6154ccd2-3577-11ed-ba43-dac502259ad0.jpg

圖3-9:FSP配置器創建所需文件后的項目樹

該項目還包含幾個名稱中帶有“ra”或“fsp”的目錄,其中包含FSP的源文件、包含文件和配置文件。通常的規則是,不得修改這些文件夾(和子文件夾)的內容。其中包含由配置器生成的文件,在此所做的任何更改都將在下次生成或刷新項目內容時丟失。用戶可編輯的源文件是直接位于src文件夾或您添加的任何其他文件夾的根目錄中的文件。

接下來,為RA產品家族單片機編寫第一個真實源代碼。計劃是在CPK-RA6M4評估板上的用戶LED(紅色)閃爍。因此您必須通過添加代碼來點亮和熄滅LED以及實現延時循環。如何實現?

實際上有兩種選擇:一種是通過接口函數來使用API,另一種是使用BSP實現函數。

如果查看文件ra_gencommon_data.c中的代碼,則會發現I/O端口驅動程序實例g_ioport具有以下定義:

61bd40be-3577-11ed-ba43-dac502259ad0.jpg

g_ioport_on_ioport是一個結構體,用于聲明端口可能執行的操作,將分配給g_ioport實例的API指針。將鼠標懸停在該結構體上,可以輕松查看其中的內容,此結構體顯示了其成員之一 (.pinWrite) 是指向引腳寫入函數的指針。

因此,要點亮LED,可以寫入:

62184e14-3577-11ed-ba43-dac502259ad0.jpg

但這意味著實際上需要知道用戶LED連接到哪些I/O端口,以及有多少個用戶LED可用。為此,我們可以閱讀電路板的文檔或仔細檢查原理圖以找到正確的端口?;蛘?,也可以只依靠FSP。創建類型為bsp_leds_t的結構體(在board_leds.h中聲明)并為其分配在board_leds.c中定義的全局BSP結構體g_bsp_leds即可解決問題。這兩個文件均位于項目的raoard a6m4_cpk文件夾內。因此,以下兩行代碼足以獲取有關評估板上LED的信息

624bdd92-3577-11ed-ba43-dac502259ad0.jpg

現在,可以使用LED結構體來訪問電路板上的所有LED,并使用以下語句點亮紅色LED(將端口設置為低電平將點亮LED,將端口設置為高電平則將熄滅LED):

6286e00e-3577-11ed-ba43-dac502259ad0.jpg

此語句后需要有第二條語句,用于將其引腳設置為高電平以熄滅用戶LED。

最后,需要提供一段延時以使LED以用戶友好的方式切換。為此,可以再次調用BSP API:

62d5b01c-3577-11ed-ba43-dac502259ad0.jpg

R_BSP_SoftwareDelay函數的第一個參數是要延遲的單位數,而第二個參數是指定的基本單位,在本例中為秒。其他選項包括毫秒和微秒。

最后,由于我們想無限期地運行程序,因此必須圍繞代碼創建一個while(1)循環。

目前,還需要執行的操作是將以下代碼行直接輸入到hal_entry.c文件中的函數簽名之后,替換/* TODO: add your own code here */ 行。對于由項目配置器和FSP配置器插入的其他代碼,請保持不變。單片機需要借助這些代碼來正常運行。

6310e48e-3577-11ed-ba43-dac502259ad0.jpg

編寫代碼時,始終可以使用e2 studio的自動完成功能。只需按下-,便會出現一個窗口,顯示結構體或函數可能的補全代碼。如果單擊一個條目,它會被自動插入代碼中。

63471004-3577-11ed-ba43-dac502259ad0.jpg

圖3-10:在變量或函數上按下-將激活e2 studio的代碼補全功能

編寫程序時,另一個有用的工具是“Developer Assistance”(開發人員幫助),可以從“Project Explorer”(項目資源管理器)中訪問此工具。在使用FSP配置器配置了項目的軟件堆棧之后,此工具將為您快速了解應用程序代碼提供支持。要訪問“Developer Assistance”(開發人員幫助),請先在“Project Explorer”(項目資源管理器)中展開項目,此工具隨即顯示。顯示工具后,進一步展開樹,直到看到堆棧模塊及其API。選擇要使用的API,然后將對該API的調用拖放到源文件中。

現在輪到您進行操作:請將上面的代碼行輸入到項目的hal_entry.c文件中。為此,展開項目的src文件夾,然后雙擊上述文件。此操作會在編輯器中將其打開。如果您不想自己輸入所有內容,也可以識別下方二維碼進入本手冊的網站下載完整的項目。

3.4 編譯第一個項目

輸入所有內容后,便可隨時編譯程序。編譯有兩種不同的配置:調試和發布。調試配置將包含調試程序所需的所有信息,例如變量和函數名,并且還將關閉編譯器的某些優化,例如循環展開。這會使調試更加容易,但會增大代碼大小、減慢代碼執行速度。發布配置將從輸出文件中除去所有這些信息,并開啟完全優化,從而減小代碼大小、加快代碼執行速度,但是,您再也無法執行查看變量等操作(除非您知道它們在存儲器中的地址)。

對于第一個測試,可以采用調試配置(也是默認配置)。要編譯項目,單擊主菜單欄645dc0e6-3577-11ed-ba43-dac502259ad0.jpg上的“build”(編譯)按鈕,編譯過程隨即開始。如果一切正常,編譯將以0個錯誤和0個警告結束。如果存在編譯時錯誤,則需要返回代碼,仔細檢查是否正確輸入了所有內容。如果未正確輸入所有內容,請相應地更改代碼。為了讓您更輕松地定位錯誤,編譯器的反饋將直接插入編輯器窗口(如果可能)。

程序編譯成功后,會創建輸出文件CPK_RA6M4_ExampleProject.elf,需要先將其下載到處理器,然后才能運行和調試該文件。

3.5 下載和調試第一個項目

下一步是在評估板(CPK)上實際運行程序?,F在需要將評估板連接到Windows工作站:將電路板隨附的USB線纜的micro-B端插入系統控制和生態系統訪問區域右下角的USB調試端口J11,將另一端插入PC上的空閑端口。LED1應點亮,表示電路板已通電。如果該評估板支持開箱即用,則預編程的演示會運行,表明一切都按預期運行。Windows操作系統可能會顯示一個對話框,指示正在安裝J-Link板上調試器的驅動程序,此過程應自動完成。此外,還可能會出現一個窗口,詢問是否更新J-Link調試器。強烈建議允許進行此更新。

下載

要下載程序,必須先創建一個調試配置。單擊“Debug”(調試)符號64786252-3577-11ed-ba43-dac502259ad0.jpg旁邊的小箭頭,然后從下拉列表框中選擇“Debug Configurations”(調試配置)。

在出現的窗口中,突出顯示“Renesas GDB Hardware Debugging”(瑞薩GDB硬件調試)下的CPK_RA6M4_BlinkyProject Debug_Flat。由于項目配置器已經進行了所有必要的設置,因此無需在此對話框中進行任何更改。只需單擊窗口右下角的“Debug”(調試)。此操作會啟動調試器,將代碼下載到CPK上的RA6M4 MCU,并詢問您是否要切換到“Debug Perspective”(調試透視圖)。請選擇“Switch”(切換)。“Debug Perspective”(調試透視圖)將打開,并且程序計數器將設置為程序的入口點,即復位處理程序。此調試配置僅需要創建一次。下次只需單擊“Debug”(調試)符號6499f85e-3577-11ed-ba43-dac502259ad0.jpg便可啟動調試器。

64c616aa-3577-11ed-ba43-dac502259ad0.jpg

圖3-11:選擇MyBlinkyProject Debug_flat后,無需在其他選項卡上進行任何更改

運行

單擊“Resume”(恢復)按鈕64e6c3fa-3577-11ed-ba43-dac502259ad0.jpg,下一個停止處將處于main()中調用hal_entry()的位置。再次單擊該按鈕,程序將繼續執行,且用戶LED(紅色)將按預期的1秒時間間隔閃爍。

觀察結果

如果一切正常,單擊主菜單欄上的“Suspend”(暫停)按鈕65043908-3577-11ed-ba43-dac502259ad0.jpg。這將停止執行程序但不會將其終止。在編輯器視圖中,激活文件hal_entry.c的選項卡,然后右鍵單擊包含對端口的寫操作的其中一行;在出現的菜單中,選擇“Run to line”(運行至指定行)。執行將恢復,程序將在單擊的行處停止?,F在來看一下右側包含變量的視圖。您將看到列出的Leds結構體。將其展開,瀏覽和分析不同的字段。調試較大的項目時,此視圖會派上用場。

651e235e-3577-11ed-ba43-dac502259ad0.jpg

圖3-12:變量及其值可以在“Variables”(變量)視圖中進行檢查

最后一步是單擊“Terminate”(終止)按鈕655c3acc-3577-11ed-ba43-dac502259ad0.jpg,結束調試會話,以停止程序的執行。

您已經掌握了RA產品家族單片機的第一個程序!

本章要點

  • 項目配置器將創建新項目所需的所有文件和設置。

  • FSP配置器允許編程人員基于圖形用戶界面輕松配置FSP和運行環境。

  • 調試配置是調試項目的必需步驟。它會自動創建,只需要激活即可。

  • 實現所需功能僅需要很少的代碼行。

審核編輯:湯梓紅


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    16130

    瀏覽量

    344844
  • 瑞薩
    +關注

    關注

    32

    文章

    22217

    瀏覽量

    85076
  • 評估板
    +關注

    關注

    1

    文章

    450

    瀏覽量

    29054
  • RA6M4
    +關注

    關注

    0

    文章

    51

    瀏覽量

    389

原文標題:CPK-RA6M4評估板入門指南-第3章(2)

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何在CPK-RA6M4 MCU評估上讓RT-Thread運行起來

    1、CPK-RA6M4 開發特點基于瑞薩RA6M4 MCU開發的CPK-RA6M4 MCU評估
    發表于 07-13 11:28

    基于RT-Thread Studio的CPK-RA6M4開發環境搭建方案推薦

    1、基于RT-Thread Studio的CPK-RA6M4開發環境搭建CPK-RA6M4 開發特點基于瑞薩RA6M4 MCU開發的
    發表于 07-14 17:45

    Renesas CPK-RA6M4開發之SDIO模塊評測

    群組設計的一款中國本地評估。如下圖所示:圖1 CPK-RA6M4開發板載資源相對來說也比較豐富了:板載MCU為:R7FA
    發表于 07-21 11:14

    CPK-RA6M4開發通過串口和ESP8266使用AT命令的聯網測試

    串口也是比較常用的外設,應用也比較簡單,具體的外設功能描述也不多講什么了。下面只講如何使用CPK-RA6M4開發通過串口連接esp8266(esp-01s)使用AT命令聯網。評測步驟:1.打開
    發表于 07-21 16:29

    CPK-RA6M4開發的RTC和WatchDog模塊評測

    本次評測的開發為Renesas的CPK-RA6M4開發,它是一款Renesas官方基于RA6M4 MCU群組設計的一款中國本地評估
    發表于 08-22 16:46

    基于 RT-Thread Studio的CPK-RA6M4 開發環境搭建

    1. CPK-RA6M4 開發特點基于瑞薩RA6M4 MCU開發的CPK-RA6M4 MCU評估
    發表于 01-10 14:41

    CPK-RA6M4評估入門指南(一)

    檔是《瑞薩RA MCU基礎知識》的配套文檔,旨在將該指南中有關硬件操作的部分在CPK-RA6M4評估板上進行實現。
    的頭像 發表于 09-16 12:48 ?1218次閱讀

    CPK-RA6M4評估入門指南(二)

    大多數編程語言新手曾編寫的第一個程序(現在仍是)就是將字符串“Hello World”輸出到標準輸出設備的程序。對我而言,就是在編輯器中鍵入“Writeln (‘Hello World’)”,如同我開始學習Pascal一樣。從那時起,我用其他幾種語言編寫了類似的代碼行,主要是為了對新開發環境的安裝進行完整性檢查。
    的頭像 發表于 09-16 12:52 ?657次閱讀

    CPK-RA6M4評估入門指南(四)

    檔是《瑞薩RA MCU基礎知識》的配套文檔,旨在將該指南中有關硬件操作的部分在CPK-RA6M4評估板上進行實現。
    的頭像 發表于 09-20 14:10 ?1095次閱讀

    CPK-RA6M4評估入門指南(五)

    檔是《瑞薩RA MCU基礎知識》的配套文檔,旨在將該指南中有關硬件操作的部分在CPK-RA6M4評估板上進行實現。
    的頭像 發表于 09-20 14:13 ?2113次閱讀

    CPK-RA6M4評估入門指南(六)

    檔是《瑞薩RA MCU基礎知識》的配套文檔,旨在將該指南中有關硬件操作的部分在CPK-RA6M4評估板上進行實現。
    的頭像 發表于 09-20 14:15 ?2032次閱讀

    CPK-RA6M4 快速入門指南

    CPK-RA6M4 快速入門指南
    發表于 01-30 19:01 ?0次下載
    <b class='flag-5'>CPK-RA6M4</b> 快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    CPK-RA6M4 用戶手冊

    CPK-RA6M4 用戶手冊
    發表于 02-02 19:06 ?0次下載
    <b class='flag-5'>CPK-RA6M4</b> 用戶手冊

    CPK-RA6M4 快速入門指南

    CPK-RA6M4 快速入門指南
    發表于 07-03 20:39 ?0次下載
    <b class='flag-5'>CPK-RA6M4</b> 快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    CPK-RA6M4 用戶手冊

    CPK-RA6M4 用戶手冊
    發表于 07-04 18:52 ?0次下載
    <b class='flag-5'>CPK-RA6M4</b> 用戶手冊
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>