91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

干貨:PSoC SWDT在Standalone下的應(yīng)用

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-10-30 10:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01、Author

Hank Fu (付漢杰) Staff FAE embedded, Xilinx, Inc. hankf@xilinx.com

02、問(wèn)題

工程師反映,根據(jù) MPSoC SWDT 在 Standalone 下的例子 xwdtps_polled_example.c,不能實(shí)現(xiàn) MPSoC 的 PS 復(fù)位。SWDT 例子來(lái)自于目錄 /Xilinx/SDK/2018.3/data/embeddedsw/XilinxProcessorIPLib/drivers/wdtps_v3_1/examples/。SWDT 例子 xwdtps_polled_example.c 只檢查了超時(shí)狀態(tài),沒(méi)有實(shí)現(xiàn)復(fù)位。工程師把其中的“XWdtPs_DisableOutput(&Watchdog, XWDTPS_RESET_SIGNAL)”改為“XWdtPs_EnableOutput(&Watchdog, XWDTPS_RESET_SIGNAL)”,仍然不能復(fù)位。


工程師根據(jù) FSBL 的 main.c 中的 InitWatchDog( ),添加代碼后,依然不能使 MPSoC 的 PS 復(fù)位。

03、分析

3.1. FSBL 的 main.c

main.c 是 Zynq-7000 的 FSBL 的代碼??蛻羰褂?SOurce Insight 分析代碼時(shí),使用了錯(cuò)誤的文件。

3.2. MPSoC 的 FSBL
MPSoC 的 FSBL 的主文件是 xfsbl_main.c,wdt 的代碼在 xfsbl_misc_drivers.c 和 xfsbl_misc_drivers.h 中,初始化 WDT 的函數(shù)是 u32 XFsbl_InitWdt(void),宏定義 XFSBL_WDT_EXPIRE_TIME 定義了 FSBL 中 wdt 的超時(shí)時(shí)間。

在 XFsbl_InitWdt(void)中,初始化并啟動(dòng) WDT(XWdtPs_RestartWdt( ))后,直接使用 sleep(20),睡眠 20 秒。睡眠過(guò)程中,因?yàn)?WDT 超時(shí),MPSoC 的 PS 會(huì)被復(fù)位。這說(shuō)明 FSBL 關(guān)于 WDT 代碼是正確的。

3.3. Standalone 下的 WDT
對(duì)比 MPSoC FSBL 初始化 WDT 的函數(shù) XFsbl_InitWdt( ),發(fā)現(xiàn)它設(shè)置了 PMU 的 ERROR_SRST_EN_1 Register 和 ERROR_EN_1 Register。把相關(guān)代碼復(fù)制到 Standalone 下的代碼,在初始化 WDT 之前運(yùn)行。重新編譯后,WDT 超時(shí)會(huì)復(fù)位 MPSoC 的 PS。

3.4. 再次運(yùn)行時(shí),設(shè)置 PMU 的 ERROR_SRST_EN_1 后,PS 馬上復(fù)位。

WDT 超時(shí)后,再次使用 Debugger 運(yùn)行時(shí),設(shè)置 PMU 的 ERROR_SRST_EN_1 后,WDT 還沒(méi)有被初始化時(shí),PS 馬上被復(fù)位。檢查 PMU ERROR_STATUS_1 Register,發(fā)現(xiàn) WDT 的超時(shí)狀態(tài)為 1。于是把讀取到的 ERROR_STATUS_1 的值,再寫回 ERROR_STATUS_1 Register,清除 WDT 的超時(shí)狀態(tài)。

這樣在 WDT 超時(shí)后,設(shè)置 PMU 的 ERROR_SRST_EN_1 后,PS 不會(huì)馬上被復(fù)位。

3.5. FPD_SWDT 和 LPD_SWDT

工程師發(fā)現(xiàn)使用 LPD_SWDT,能復(fù)位 PS;換成 FPD_SWDT,不能復(fù)位 PS。


在設(shè)置 PMU 的 ERROR_SRST_EN_1 Register 和 ERROR_EN_1 Register 時(shí),LPD_SWDT 和 FPD_SWDT 有各自的使能位。增加設(shè)置 FPD_SWDT 的使能位后,換成 FPD_SWDT,也能復(fù)位 PS。

#define PMU_GLOBAL_ERROR_SRST_EN_1 ( ( PMU_GLOBAL_BASEADDR ) + 0X0000056CU )
#define PMU_GLOBAL_ERROR_SRST_EN_1_LPD_SWDT_MASK 0X00001000U
#define PMU_GLOBAL_ERROR_SRST_EN_1_FPD_SWDT_MASK 0X00002000U


04、Vivado 設(shè)置

使用 WDT,要在 Vivado 里的 PCW 里,使能對(duì)應(yīng)的 WDT。


05、相關(guān)代碼

5.1. 檢查和清除 PMU 寄存器

xil_printf("/r/n" );
u32_reg = Xil_In32(0xFFD80530);
xil_printf("Old PMU ERROR_STATUS_1 (PMU_GLOBAL) Register: %x./r/n", u32_reg );
Xil_Out32(0xFFD80530, u32_reg); // Clear PMU ERROR_STATUS_1 (PMU_GLOBAL) Register

u32_reg = Xil_In32(0xFFD80540);
xil_printf("Old PMU ERROR_STATUS_2 (PMU_GLOBAL) Register: %x./r/n", u32_reg );
Xil_Out32(0xFFD80540, u32_reg); // Clear PMU ERROR_STATUS_2 (PMU_GLOBAL) Register

u32_reg = Xil_In32(0xFFD80530);
xil_printf("New PMU ERROR_STATUS_1 (PMU_GLOBAL) Register: %x./r/n", u32_reg );

u32_reg = Xil_In32(0xFFD80540);
xil_printf("New PMU ERROR_STATUS_2 (PMU_GLOBAL) Register: %x./r/n", u32_reg );


5.2. 檢查 SWDT 寄存器狀態(tài)

void CheckWDTRegisterValue( u32 EffectiveAddress )
{
u32 u32_reg;

u32_reg = XWdtPs_ReadReg(EffectiveAddress, XWDTPS_ZMR_OFFSET);
xil_printf("WDT Zero Mode Register: %x./r/n", u32_reg );
u32_reg = XWdtPs_ReadReg(EffectiveAddress, XWDTPS_CCR_OFFSET);
xil_printf("WDT Counter Control Register: %x./r/n", u32_reg );
u32_reg = XWdtPs_ReadReg(EffectiveAddress, XWDTPS_RESTART_OFFSET);
xil_printf("WDT Restart Register: %x./r/n", u32_reg );
u32_reg = XWdtPs_ReadReg(EffectiveAddress, XWDTPS_SR_OFFSET);
xil_printf("WDT Status Register: %x./r/n", u32_reg );
}

審核編輯 黃昊宇

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

    關(guān)注

    12

    文章

    180

    瀏覽量

    95006
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    深度剖析PSoC 4200M:可編程系統(tǒng)芯片的卓越之選

    深度剖析PSoC 4200M:可編程系統(tǒng)芯片的卓越之選 嵌入式系統(tǒng)設(shè)計(jì)領(lǐng)域,可編程系統(tǒng)芯片(PSoC)憑借其獨(dú)特的靈活性和集成性,成為眾多工程師的首選。今天,我們就來(lái)深入探討一賽普
    的頭像 發(fā)表于 02-26 16:10 ?106次閱讀

    探索PSoC 4100M:可編程系統(tǒng)芯片的卓越之選

    探索PSoC 4100M:可編程系統(tǒng)芯片的卓越之選 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,可編程系統(tǒng)芯片(PSoC)憑借其高度的集成性和靈活性,成為了眾多工程師的首選。今天,我們就來(lái)深入了解一賽普拉斯
    的頭像 發(fā)表于 02-11 16:35 ?298次閱讀

    汽車級(jí)PSoC? 4:PSoC? 4100S 家族片上可編程系統(tǒng)深度解析

    汽車級(jí)PSoC? 4:PSoC? 4100S 家族片上可編程系統(tǒng)深度解析 汽車電子應(yīng)用日益豐富的今天,對(duì)可編程嵌入式系統(tǒng)控制器的需求也越來(lái)越高。PSoC? 4100S 家族作為一款符
    的頭像 發(fā)表于 12-21 16:30 ?582次閱讀

    PSoC? 62S2 評(píng)估套件快速上手指南

    PSoC? 62S2 評(píng)估套件快速上手指南 引言 電子開(kāi)發(fā)領(lǐng)域,評(píng)估套件往往是工程師快速了解和驗(yàn)證芯片性能的重要工具。PSoC? 62S2 評(píng)估套件 CY8CEVAL - 062S2 就是這樣一款
    的頭像 發(fā)表于 12-21 11:15 ?866次閱讀

    探索PSOC? 4000T:高性能低功耗微控制器的卓越之選

    ? - M0+ CPU的MCU,憑借其豐富的特性和出色的性能,為各類低功耗應(yīng)用提供了理想的解決方案。今天,我們就來(lái)深入探討一PSOC? 4000T的相關(guān)特性和應(yīng)用。 文件下載: Infineon
    的頭像 發(fā)表于 12-19 17:00 ?602次閱讀

    汽車級(jí)PSoC? 4:PSoC? 4000S系列深度剖析

    汽車級(jí)PSoC? 4:PSoC? 4000S系列深度剖析 如今的電子設(shè)計(jì)領(lǐng)域,汽車級(jí)芯片的性能和可靠性至關(guān)重要。PSoC? 4000S系列作為基于Arm? Cortex? - M0+
    的頭像 發(fā)表于 12-19 14:40 ?338次閱讀

    探索CY8CKIT - 062S2 - AI PSoC? 6人工智能評(píng)估套件

    探索CY8CKIT - 062S2 - AI PSoC? 6人工智能評(píng)估套件 電子工程師的日常工作中,一款優(yōu)秀的評(píng)估套件往往能極大地提高開(kāi)發(fā)效率,加速產(chǎn)品推向市場(chǎng)的進(jìn)程。今天,我們就來(lái)深入探討
    的頭像 發(fā)表于 12-19 14:30 ?313次閱讀

    探索PSOC? 4100T Plus:低功耗高性能微控制器的卓越之選

    探索PSOC? 4100T Plus:低功耗高性能微控制器的卓越之選 電子工程師的日常工作中,選擇一款合適的微控制器(MCU)對(duì)于項(xiàng)目的成功至關(guān)重要。今天,我們將深入探討英飛凌(Infineon
    的頭像 發(fā)表于 12-18 16:10 ?330次閱讀

    探索PSOC Edge E84 AI Kit:開(kāi)啟下一代機(jī)器學(xué)習(xí)邊緣設(shè)備設(shè)計(jì)之旅

    探索PSOC Edge E84 AI Kit:開(kāi)啟下一代機(jī)器學(xué)習(xí)邊緣設(shè)備設(shè)計(jì)之旅 電子工程師的世界里,不斷追求創(chuàng)新和高效是永恒的主題。今天,我們將深入探討一款專為快速原型開(kāi)發(fā)而設(shè)計(jì)的強(qiáng)大
    的頭像 發(fā)表于 12-18 14:45 ?616次閱讀

    PSoC? Edge E84 評(píng)估套件:開(kāi)啟下一代機(jī)器學(xué)習(xí)邊緣設(shè)備設(shè)計(jì)之旅

    PSoC? Edge E84 評(píng)估套件:開(kāi)啟下一代機(jī)器學(xué)習(xí)邊緣設(shè)備設(shè)計(jì)之旅 電子工程師不斷追求創(chuàng)新與高效的今天,一款優(yōu)秀的評(píng)估套件能夠極大地加速產(chǎn)品的設(shè)計(jì)與開(kāi)發(fā)進(jìn)程。英飛凌的 PSoC? Edge
    的頭像 發(fā)表于 12-18 14:40 ?409次閱讀

    國(guó)產(chǎn)混合信號(hào)處理的重要突破:淺析PSOC 7020的可配置運(yùn)算架構(gòu)

    本文簡(jiǎn)要介紹了國(guó)產(chǎn)PSOC?7020芯片內(nèi)集成的關(guān)鍵運(yùn)算電路模塊,闡述了其作為可編程片上系統(tǒng)(PSoC)的核心模擬處理能力。文章重點(diǎn)分析了其運(yùn)算放大器、比較器、模數(shù)/數(shù)模轉(zhuǎn)換器等模塊的可配置特性,并說(shuō)明了其簡(jiǎn)化設(shè)計(jì)、提升系統(tǒng)集
    的頭像 發(fā)表于 12-04 17:29 ?785次閱讀
    國(guó)產(chǎn)混合信號(hào)處理的重要突破:淺析<b class='flag-5'>PSOC</b> 7020的可配置運(yùn)算架構(gòu)

    Cypress汽車級(jí)PSOC? 4100S Plus

    ,能夠大多數(shù)情況“正常工作”,信噪比(SNR)高于 300:1,兼容高達(dá) 54 個(gè)可編程 GPIO 引腳。- 通信協(xié)議:具備 CAN 控制器,能夠與汽車網(wǎng)絡(luò)通訊,還具備 UART、SPI、I2C
    發(fā)表于 07-11 09:03

    為什么無(wú)法定制板上重新刷新PSoC6?

    無(wú)法定制板上重新刷新 PSoC6
    發(fā)表于 04-21 07:56

    PSoC 4-IEC 60730 B級(jí)和IEC 61508 SIL安全軟件庫(kù)

    電子發(fā)燒友網(wǎng)站提供《PSoC 4-IEC 60730 B級(jí)和IEC 61508 SIL安全軟件庫(kù).pdf》資料免費(fèi)下載
    發(fā)表于 04-19 17:05 ?0次下載

    英飛凌發(fā)布PSOC 4 Multi-Sense,通過(guò)電感感應(yīng)和液體感應(yīng)解決方案擴(kuò)展電容感應(yīng)技術(shù)

    推出新的專有電感感應(yīng)技術(shù),以及非侵入式和非接觸式液體感應(yīng)解決方案擴(kuò)展其領(lǐng)先的電容感應(yīng)技術(shù)CAPSENSE。PSOC 4為開(kāi)發(fā)人員開(kāi)發(fā)新人機(jī)接口(HMI)和感應(yīng)解決方案帶來(lái)了無(wú)限的可能性。從帶有金屬觸
    的頭像 發(fā)表于 03-27 12:44 ?843次閱讀
    英飛凌發(fā)布<b class='flag-5'>PSOC</b> 4 Multi-Sense,通過(guò)電感感應(yīng)和液體感應(yīng)解決方案擴(kuò)展電容感應(yīng)技術(shù)