• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::

論壇索引


Board index » All Posts (HanChi_Liu)




Re: 關於內部Nonvolatile Memory讀寫的問題 SAMC21N18A
#1
新會員
新會員


Hi Libra,

感謝您的回覆~
另外,想再請教關於RWWEE與EEPROM emulation的差異。

以下是我根據Datasheet第9章(Memories)與第27章(NVMCTRL – Nonvolatile Memory Controller)中的了解,不曉得觀念是否正確?

Q1:
首先是針對位址(Address)的部分,以SAMC21N18A型號來說,RWWEE是已經固定好的一塊8KB大小空間,位址為:0x00400000 ~ 0x00401FFF,如Datasheet中Figure 27-3所示。

EEPROM emulation 則是在256KB的Flash中(0x00000000 ~ 0x0003FFFF),切一塊空間出來模擬EEPROM,大小可以在NVM User Row中選定,並且從最高位址往下切割,如Datasheet中Figure 27-4所示。

EX: NVM User Row (0x804000 [6:4]) 寫入1 ,表示EEPROM Emulation Area Size 為 8Kbytes的大小,位址會落在: 0x0003E000 ~ 0x0003FFFF。

- ---------------- 我是分隔線 --------------------

Q2:
RWWEE 與 EEPROM Emulation之所以稱做EEPROM,是因為其寫入/抹除行為能單一字節做處理嗎?
但按照RWWEE的範例程式來看,一樣只能以頁面(Page or Row)的單位做處理。
若不是以上的原因為何稱為EEPROM?

- ---------------- 我是分隔線 --------------------
1. 兩者分別使用的情境為何?以及RWW (Read While Write)的實際用途?

謝謝

發表於: 2023/11/13 17:06
頂部


How to read RWWEE section memory by ICD4 device: SAMC21N18A
#2
新會員
新會員


Dear Microchip Team,

參考\HarmonyFramework\csp_apps_sam_c20_c21\apps\nvmctrl\nvmctrl_flash_read_while_write中的範例做練習。
使用NVMCTRL_RWWEEPROM_PageWrite()做資料寫入後,
再用NVMCTRL_RWWEEPROM_Read()()讀取出來做確認,
實驗結果顯示讀取出來的資料與寫入的資料一致,代表應該有成功寫入。

但是用MPLAB + ICD4回讀資料並用Execution Memory查看0x0040_0000 (RWWEE start adress),
結果卻都顯示00,如附件圖檔所示。

請問RWWEE section的資料是否能用ICD4 + MPLAB X做回讀確認呢?

謝謝

Attach file:



jpg  RWWEE Question.JPG (303.87 KB)
78209_64d337d5b4b52.jpg 1034X1044 px

發表於: 2023/8/9 14:53
頂部


關於內部Nonvolatile Memory讀寫的問題 SAMC21N18A
#3
新會員
新會員


Dear Microchip Team,

最近再練習MCU內部Memory讀寫的功能,參考了\HarmonyFramework\csp_apps_sam_c20_c21\apps\nvmctrl\ 裡的兩個範例。
兩個範例在宣告記憶體空間的方式不太一樣~

nvmctrl_flash_read_write 中的宣告方式

// Define a constant array in Flash.
// It must be aligned to row boundary and size has to be in multiple of rows

const uint8_t nvm_user_start_address[NVMCTRL_FLASH_ROWSIZE] __attribute__((aligned(NVMCTRL_FLASH_ROWSIZE),keep,externally_visible,space(prog)))= {0};

執行後,使用ICD4回讀整個記憶體的資料,發現寫入的位址是0x1200,但範例程式中並沒有任何起始位址的定義,請問在這樣的情況下,是否就由compiler自行分配位址呢?

nvmctrl_flash_read_while_write 中的宣告方式
const uint8_t nvm_user_start_address[NVMCTRL_FLASH_ROWSIZE] __attribute__((address(NVMCTRL_FLASH_START_ADDRESS+0x20000),keep,externally_visible,space(prog)))= {0};

這裡就有定義執行位址NVMCTRL_FLASH_START_ADDRESS+0x20000, 如果未來想自己定義起始位置,是否可以使用下面的方式宣告呢?

const uint8_t nvm_user_start_address[NVMCTRL_FLASH_ROWSIZE] __attribute__((aligned(NVMCTRL_FLASH_ROWSIZE),address(NVMCTRL_FLASH_START_ADDRESS+0x20000) ,keep,externally_visible,space(prog)))= {0};

最後,是否有大師知道__attribute__中 keep, externally_visible, space(prog) 這三個關鍵詞的功能是什麼?

謝謝~

發表於: 2023/8/8 10:42
頂部


Re: Harmony 3 Generate Code Failed " An exception occured during file preprocessing "
#4
新會員
新會員


Hi KevinLu,

謝謝您的回覆
我這邊將Harmony 的csp、core和core_apps_sam_c20_c21都重新下載,並且將它們都dependencies成相容的版本。
可以成功Generate Code了。

Thanks,
HanChi

發表於: 2023/1/19 8:57
頂部


Harmony 3 Generate Code Failed " An exception occured during file preprocessing "
#5
新會員
新會員


Microchip的成員們大家好~

目前我的專案在Harmony 3 Configurator 中執行 Generate Code 會失敗,進度條卡在35%無法完成,並且顯示"An exception occured during file preprocessing"。

Console 顯示的錯誤訊息如figure 1所示,內容看起來跟Systick有相關。
在System方塊下的 >> Cortex-M0+ Configuration >> SysTick disable掉後,可以正常Gen Code,但是只要有勾選就會失敗,SysTick 的設定如figure 2所示。

爬了些文章,內容說跟Harmony 3的Core有相關,figure 3是我的Harmony 3 Core 下載的版本。

想請問這個問題可以如何解決?

謝謝~

MCU type: ATSAMC21N18A
MPLAB X IDE version: v6.00
XC32Compiler version: v4.10

HanChi

Attach file:


Link only for registered users

發表於: 2023/1/16 17:25
頂部


MPLAB X IDE v6.00 修改完專案名稱 編譯出現錯誤
#6
新會員
新會員


大家好:

最近在變更現有的專案名稱後,執行編譯會出現錯誤。
這些錯誤看起來跟makefile有關,如附件圖片。
若是將專案修改回原來的名稱,又可以正常編譯。

我修改專案名稱的方式,是從MPLAB X IDE中對Project按右鍵中的Rename來進行修改,並且有勾選"Also Rename Project Folder"。

請問會導致編譯錯誤的原因是什麼,以及如何正確變更專案名稱?

IDE Version: v6.00
Compiler: XC32 (v4.10)

謝謝

Attach file:



jpg  error message.JPG (244.32 KB)
78209_6364acdd02d0f.jpg 1523X804 px

發表於: 2022/11/4 14:11
頂部


Re: MPLAB X IDE v6.00 - Contains files Error. Look in Files window
#7
新會員
新會員


更新~找到更改Source Folder路徑的方法。

project 右鍵 >> Properties >> Categories >> General >> Source Folders

裡頭可以新增或刪除Source路徑

選擇正確的Source路徑,問題解決~

謝謝

Attach file:


Link only for registered users

發表於: 2022/11/4 10:23
頂部


MPLAB X IDE v6.00 - Contains files Error. Look in Files window
#8
新會員
新會員


大家好:

Tool: MPLAB X IDE v6.00
Compiler: XC32 (v4.10)

小弟在MPLAB X IDE的其中一個project出現紅色驚嘆號,給出的訊息如下:
"Contains files Error. Look in Files window"

切換至Files window發現這個project的路徑不曉得為何會抓到桌面(...\Desktop)的路徑。
其他正常的project是有抓到正確的檔案路徑(...\src)

請問使否有可以更改此路經的解法?或是其他的解決辦法。

謝謝

Attach file:


Link only for registered users

發表於: 2022/11/4 10:03
頂部






:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------