2. 軟體增強
裝置異常掉電,通常是嵌入式裝置不得不面對的難題。如果處理不當,異常掉電會造成檔案系統損壞、資料丟失,嚴重者還會造成外部器件的損壞。
乙個完備的掉電保護方案,從原理上講,可以從以下幾個方面進行加強:
硬體掉電保護電路主要提供了以下功能:
1、提供了24v掉電檢測和5v掉電檢測功能。sign_5728
這個管腳正常為高電平,在電壓降低到一定程度後會變成低電平,產生乙個中斷給cpu;
2、提供了延時下電功能。電路中加入了幾個大容量電容,在外部電源掉電以後,電容可以支援一段時間(幾秒鐘)核心電路的供電;
針對硬體提供的寶貴的掉電通知和延時掉電機制,軟體需要緊密配合:
1、軟體在接收到掉電中斷以後,在轉為電容供電的幾秒鐘時間裡,需要做完系統的保護動作:檔案系統同步、系統powerdown或者reboot。
kernel\arch\arm\boot\dts\am57xx-evm-common.dtsi:
&dra7_pmx_core ;
/ ;
};
建立對應的platform driver:
static int powerdown_protect_remove(struct platform_device *pdev)
static const struct of_device_id powerdown_protect_match = ,
{}};
static struct platform_driver powerdown_protect_driver = ,
};
在驅動的初始化函式中,初始化掉電檢測的gpio,以及註冊中斷服務:
static int powerdown_protect_probe(struct platform_device *pdev)
else
ret = gpio_request(gpio_id, "powerdown_detect");
if (ret)
ret = gpio_direction_input(gpio_id);
if (ret)
ret = gpio_set_debounce(gpio_id, debounce_time);
if (ret)
setup_timer(&powerdown_timer, powerdown_timer_func, 0);
init_work(&powerdown_work, powerdown_work_func);
irq_num = gpio_to_irq(gpio_id);
if (irq_num < 0)
ret = request_irq(irq_num, powerdown_detect_irq, irqflags, irqdesc, pdev);
if (ret)
return 0;
fail:
gpio_free(gpio_id);
return ret;
}
在中斷服務中同步檔案系統,以及發起reboot操作:
static void powerdown_exec(void)
為了縮小檔案系統可能造成的破壞,可以把檔案系統分割槽,把系統分割槽設定為唯讀:
root@am335x-evm:~# mount
rootfs on / type rootfs (rw)
/dev/root on / type yaffs2 (ro,relatime)
/dev/mtdblock8 on /home/root type yaffs2 (rw,sync,relatime)
root@am335x-evm:~#
還可以在開機啟動的時候,增加乙個環節:如果檢測到有異常關機的情況,執行fsck檔案系統修復程式來修復檔案系統中可能存在的錯誤。
root@am57xx-evm:~# mount -o remount,ro /
[ 91.164253] ext4-fs (mmcblk0p2): re-mounted. opts: (null)
root@am57xx-evm:~#
root@am57xx-evm:~# fsck /
fsck from util-linux 2.27.1
e2fsck 1.43-wip (18-may-2015)
fsck.ext2: no such file or directory while trying to open /dev/root
possibly non-existent device?
root@am57xx-evm:~#
降低執行時功耗,可以減少系統耗電,可以延長電容的供電時間。
降低功耗的具體措施可以有:
涉及到的模組比較多也比較複雜需要小心處理;
技術方案設計
概要設計文件 技術方案 1.由原始需求逐步拆分,深入 後期迭代增加 2.資料流圖,整體流程 每一條資料流鏈路,便於查問題節點 3.不僅給技術開發看,面向產品和測試,對測試的輸出和產品的輸出 4.寫出支撐功能點,前端對接的資料結構 流程 需求評審 設計方案評審 資料鏈路,需求拆分 技術方案評審 實現方...
監控系統Metis方案設計
監控系統metis方案設計 一 概述 對於乙個業務系統而言,不同的角色關注的點會有一定差異。領導或負責人系統獲取系統的sla,系統間的相互作用,展示資源消耗情況 運維人員需要獲取基礎設施和服務的實時狀態資訊,各種軟硬體錯誤,效能變化及效能瓶頸 開發人員需要知道系統主要效能瓶頸,經常出現的錯誤,便於著...
優美的配色方案設計
怎麼做好 設計配色 一直是個難題 雖然 上有各種各樣的色庫,但配色仍然至關重要,不得已的話可以親自動手,況且樂趣滿滿。這個沒有一套標準 所以看自己怎麼喜歡怎麼來 你可以使用 illustrator keynot 和你想到的其他用著順手的工具。vi設計包含的遠不止選擇顏色和字型,如果要給公司尋找一套配...