海思Hi3520DV400 uboot看門狗餵狗

2021-09-07 19:54:49 字數 2000 閱讀 8538

/*

* hardware watchdog

*/#ifdef config_hw_watchdog

#if defined(__assembly__)

#define watchdog_reset bl hw_watchdog_reset

#else

extern void hw_watchdog_reset(void);

#define watchdog_reset hw_watchdog_reset

#endif /* __assembly__ */

#else

/* * maybe a software watchdog?

*/#if defined(config_watchdog)

#if defined(__assembly__)

#define watchdog_reset bl watchdog_reset

#else

extern void watchdog_reset(void);

#define watchdog_reset watchdog_reset

#endif

#else

/** no hardware or software watchdog.

*/#if defined(__assembly__)

#define watchdog_reset /**** do_not_del_this_comment*/

#else

#define watchdog_reset() {}

#endif /* __assembly__ */

#endif /* config_watchdog && !__assembly__ */

#endif /* config_hw_watchdog */

(一)配置巨集

在/include/configs/hi3520dv400.h 中定義巨集 config_hw_watchdog

#define config_hw_watchdog 1
(二)函式實現

回到最前面的**我們知道,如果定義了硬體看門狗餵狗,則需要實現函式extern int hw_watchdog_reset(void);

找乙個位置新增兩個檔案:hiwtdog.h,hiwtdog.c,然後將這兩個檔案編譯進uboot就可以了。

hiwtdog.h

#ifndef _hiwtdog_h

#define _hiwtdog_h

#include #include #include #include #define hi_gpio_muti_base_addr (0x120f0000)

#define hi_gpio6_base_addr (0x121b0000)

#define hi_muti_set_gpio_wtdog hi_gpio_muti_base_addr+0x0f0 // //1:gpio6_2;

#define gpio_data_wtdog hi_gpio6_base_addr+0x03fc //

#define gpio_dir_wtdog hi_gpio6_base_addr+0x400 // //1:輸出

extern int hw_watchdog_reset(void);

#endif

注意:如果是其它平台的晶元,hi_gpio_muti_base_addr 和 hi_gpio6_base_addr根據實際修改就可以。

hiwtdog.c

#include"hiwtdog.h"

int hw_watchdog_reset(void)

uboot 預設ftp ,串列埠等位置都有新增hw_watchdog_reset()函式進行餵狗,如果啟動其它功能時uboot復位了,則可以自己在該功能的合適位置進行餵狗操作就可以了。

新手玩海思HI3520D開發板(一,sdk安裝)

1 hi3520d sdk包位置 在 hi3520d v100r001 01.software board 目錄下,您可以看到乙個 hi3520d sdk vx.x.x.x.tgz 的檔案,該檔案就是hi3520d的軟體開發包。2 解壓縮sdk包 在linux伺服器上 或者一台裝有linux的pc上...

開發海思3520a遇到的問題

海思3520a新做的板子回來乙個多一星了,幾乎一直在除錯同乙個問題 獲取不到編碼後的資料。之前一直在除錯vi通道或者nvp1118b 我們沒有用tw28系列的 今天除錯了一直,看了nvp1118b的驅動和vi通道的初始化,幾乎沒什麼漏洞。之前一直說要檢查記憶體有沒問題,一直沒有試 因為本來應該貼一塊...

海思Hi3516A上移植OpenCV

最近新換了工作,工作中一項任務是將opencv移植到hi3516a平台上。這項工作涉及到很多步驟,中間可以說經歷了千難萬險,克服了種種艱難困苦,最終成功了!現將過程詳細寫出,一方面作為此段工作的總結和回顧,另一方面也使後來者能不必再經歷我所經歷的困難乃至苦難。言歸正傳。這個任務需要很多步驟,下邊一步...