在U-BOOT中實現讀取電池電量
platform: s3c2440 + u-boot 1.1.4 + linux 2.6.18
為了防止低電開機啟動到一半的時候系統down掉,所以有必要在 u-boot 中加入電池電量的偵測。
偵測電池電量只需讀 AN0 口上的 AD 值就可以了,當電量少於 576 的時候就不讓系統開機。
在 lib_arm/board.c 中加入 battery_probe() 函式:
static int battery_probe(void)
{
S3C2410_ADC * const adc = S3C2410_GetBase_ADC();
S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();
unsigned int val, res, ret, powerflag;
int i;
// use AN0;
val = (1<<14) | (9<<6) | (0<<3);
adc->ADCCON = val;
val = adc->ADCCON;
val |= (1<<0);
adc->ADCCON = val;
for(i=0;i<5;i++)
{
// start ADC
while(res&0x1)
{
res = adc->ADCCON;
}
res = 0;
// end ADC
while(!(res&0x8000))
{
res = adc->ADCCON;
}
// read data
ret = adc->ADCDAT0;
ret = ret & 0x3ff;
if(ret<576)
powerflag = 1;
else
powerflag = 0;
}
if(powerflag)
{
printf("The battery too low./n/n");
gpio->GPBDAT &= ~(1<<5); // power off.
}
return 0;
}
然後在 int print_cpuinfo() 中加入:
display_dram_config,
+battery_probe,
NULL,
------------------------------
這樣就可以在u-boot 中實現電池電量的偵測了。
相關推薦
在U-BOOT中實現讀取電池電量
platform: s3c2440 + u-boot 1.1.4 + linux 2.6.18 為了防止低電開機啟動到一半的時候系統down掉,所以有必要在 u-boot 中加入電池電量的偵測。 偵測電池電量只需讀 AN0 口上的 AD 值就可以了,當電量少於 5
spring boot中實現響應圖片的方法以及改進
spring-bootController響應,噴出圖片,是一個很常見的功能,代碼如下@RequestMapping(value = { "/img/{filename:.+}" }, method = RequestMethod.GET, produces = { MediaType.I
Spring Boot中實現logback多環境日誌配置
cati feature gprof 配置 color app config 現在 ng- 在Spring Boot中,可以在logback.xml中的springProfile標簽中定義多個環境logback.xml: <springProfile name=
u-boot中nand相關命令使用---- ubi, ubifsls, ubifsmount, ubifsumount
轉載地址:https://blog.csdn.net/voice_shen/article/details/8425763 [Version: 2013-01-rc2] [Author: Bo Shen <[email protected]>] 1. &
Spring Boot中實現logback多環境日誌配置(日誌輸出)
Spring Boot中實現logback多環境日誌配置 - EasonJim - 部落格園 https://www.cnblogs.com/EasonJim/p/7801549.html Spring Boot中實現logback多環境日誌配置 方法
u-boot 中增加自定義命令hjlcmd2------(新增檔案來定義)
1,在 "[email protected]:/home/hjl/Downloads/uboot/common#" 目錄中新增檔案 cmd_hjl.c ,加上標頭檔案 #include <common.h> &nbs
u-boot 中增加自定義命令hjlcmd1
在uboot/common資料夾下找到command.c檔案,進入編輯: 對照隨便一個命令,如: do_version (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { extern char version_strin
u-boot中新增mtdparts支援以及Linux的分割槽設定
閱讀目錄(Content) 簡介 作者:彭東林 u-boot版本:u-boot-2015.04 Linux版本:Linux-3.14 硬體平臺:tq2440, 記憶體:64M NandFlash: 256MB 下面我們分兩部分,u-boot和k
在U-boot中新增乙太網驅動
版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/mao0514/article/details/17523803 當定義CONFIG_CMD_NET和CONFIG_CMD_PING,編譯之後執行ping命令,告警沒有
u-boot中:rm:無法刪除 "asm":是一個目錄
轉自:http://blog.163.com/zhangyingxin_/blog/static/218307222201331291755998/ uboot移植編譯小問題 ———rm:無法刪除 "asm":是一個目錄 我之前所做的uboot移植工作都快要完成了,想要拷貝
u-boot分析 七 (新增u-boot命令,學習u-boot命令實現原理)
u-boot分析 七 (新增u-boot命令,學習u-boot命令實現原理) 本文目標: 理解u-boot命令的實現原理。 上一篇文章分析了u-boot是如何啟動kernel的,其中就涉及到bootm命令,考慮到文章主題需要,當時並沒有對bo
在U-boot中新增Cubieboard(全志A10)乙太網驅動
當定義CONFIG_CMD_NET和CONFIG_CMD_PING,編譯之後執行ping命令,告警沒有找到乙太網。 因此,需要開啟U-boot的網路功能, u-boot-sunxi-sunxi中沒有找到明顯的網路驅動程式碼,或許有通用的驅動,但可以獲得資料的途徑有限,再說我
u-boot中mkimage工具的具體使用
通常,u-boot為kernel提供一些kernel無法知道的資訊,比如ramdisk在RAM中的地址。Kernel也必須為U-boot提供必要的資訊,如通過mkimage這個工具(在u-boot程式碼的tools目錄中)可以給zImage新增一個header,也就是使得通常
u-boot中makefile的執行步驟
本文分析的uboot版本是2013.04.主要目的是通過分析uboot頂目錄下的makefile檔案,瞭解uboot的大致執行步驟和順序。 簡而言之就是先讀取makefile檔案;然後讀取include包含的檔案;重建已讀取makefile檔案的規則;展開變數和函式等。
U-Boot中MAC地址設定及往核心中傳遞
一、核心引數的傳遞 U-Boot向Linux驅動傳遞引數的方式有兩種,一為在系統啟動的時候由bootloader傳入,還有一種是將驅動編譯成模組,將引數作為模組載入的引數傳入。 核心通過setup介面接受Bootloader傳入的引數。方式如下: st
u-boot中fdt命令的使用
[u-boot: v2012.10] [Author: Bo Shen <[email protected]>] 依linux community的要求,從linux-3.5後,新提交的code必須對device tree進行支援。下面介紹如何使u-
U-boot中通過ENV設定顯示裝置(如LCD)引數的方法與格式
對於一個移植比較完善的U-boot來說,顯示裝置一般也是可以使用的。在嵌入式中的LCD液晶屏一般由晶片的內建的LCD控制器或者VPSS(視訊處理子系統)來控制。在U-boot中已經實現了類似framebuffer的機制,只要在移植的時候完成對LCD控制等顯示裝置的初始化,並
u-boot中mmc命令使用
[u-boot: v2013.01] [Author: Bo Shen <[email protected]>] mmc命令的幫助資訊如下: U-Boot> mmc mmc - MMC sub system Usage: mmc
在linux系統中通過fw_printenv檢視和設定u-boot中的環境變數
uboot下可以通過命令訪問和修改環境變數,但是如果需要在Linux系統下訪問這些資料該怎麼辦呢?其實uboot早就幫我們想好了。 1、編譯fw_printenv工具 在你使用的uboot程式碼中用以下編譯指令: make env 這樣就可