如何獲取EMMC記憶體大小
如何獲取EMMC記憶體大小
類別
需求
索引類別
獲取EMMC記憶體大小
問題描述
對應無法得知EMMC總記憶體的大小,基於這個問題所寫的程式碼。
程式碼關聯
#define PATH_MAX_STRING_SIZE 256
#define BLKGETSIZE64 _IOR(0x12,114,size_t)
#define BLKGETSIZE _IO(0x12,96)
unsigned long rtk_get_size_emmc(void)
{
int fd;
unsigned long long v64;
unsigned long longsectors;
char *pblock_name = "/dev/block/mmcblk0";
fd = open(pblock_name, O_RDWR|O_SYNC);
if(fd < 0)
{
return -1;
}
if (ioctl(fd, BLKGETSIZE64, &v64) == 0)
{
/* Got bytes, convert to 512 byte sectors */
v64 >>= 9;
if (v64 != (unsigned long)v64)
{
ret_trunc:
/* Not only DOS, but all other partition tables
* we support can't record more than 32 bit
* sector counts or offsets
*/
v64 = (unsigned long)-1L;
}
close(fd);
return v64;
}
/* Needs temp of type long */
if (ioctl(fd, BLKGETSIZE, &longsectors))
{
/* Perhaps this is a disk image */
unsigned long sz = lseek(fd, 0, SEEK_END);
longsectors = 0;
if (sz > 0)
longsectors = (unsigned long)sz / 512;
lseek(fd, 0, SEEK_SET);
}
if (sizeof(long) > sizeof(unsigned long)
&& longsectors != (unsigned long)longsectors
)
{
goto ret_trunc;
}
close(fd);
return longsectors;
}
改進建議
工作記錄…
相關文章
- 獲取Linux 記憶體頁大小的命令Linux記憶體
- [轉]指令碼獲取資源記憶體和硬碟大小指令碼記憶體硬碟
- 獲取linux可用記憶體 剩餘記憶體Linux記憶體
- C++獲取記憶體大小和使用率C++記憶體
- Android懸浮窗--獲取記憶體Android記憶體
- 中國芯!宏旺半導體ICMAX喜獲eMMC、UFS記憶體測試計算機軟體著作權記憶體計算機
- 直播軟體搭建,java程式碼獲取記憶體資訊Java記憶體
- 電腦記憶體怎麼擴大 如何更改電腦記憶體大小記憶體
- 獲取bitmap大小
- 獲取 Laravel 執行時間和記憶體消耗Laravel記憶體
- aix 共享記憶體段大小限制AI記憶體
- 記憶體管理中關於記憶體每次增長的大小記憶體
- windows/vs如何獲取程式記憶體使用量和時間花費Windows記憶體
- Android SD卡 路徑問題以及如何獲取SDCard 記憶體AndroidSD卡記憶體
- 如何在Java中讀取超過記憶體大小的檔案Java記憶體
- java 獲取物件大小Java物件
- 修改OracleLinux共享記憶體的大小OracleLinux記憶體
- 如何獲取 Linux 中的目錄大小Linux
- CPU快取記憶體快取記憶體
- Android記憶體優化之記憶體快取Android記憶體優化快取
- Winrm 獲取遠端windows伺服器 cpu、磁碟、記憶體Windows伺服器記憶體
- 空結構體sizeof()獲取的大小是多少結構體
- Oracle記憶體結構(四)----如何獲得Oracle各記憶體段的內部資訊(轉)Oracle記憶體
- 手機記憶體卡大小的計算記憶體
- CentOS限制實體記憶體大小方法CentOS記憶體
- JS獲取螢幕大小JS
- 鐵威馬NAS如何使用SSD快取記憶體?快取記憶體
- DDD 和 記憶體快取記憶體快取
- 記憶體快取選型記憶體快取
- 如何使用 Bash 指令碼從 SAR 報告中獲取 CPU 和記憶體使用情況指令碼記憶體
- PHP 獲取程式碼執行時間和消耗的記憶體PHP記憶體
- 如何獲取 PostgreSQL 資料庫中的表大小、資料庫大小、索引大小、模式大小、表空間大小、列大小SQL資料庫索引模式
- Bucket(free list) 是如何來劃分記憶體chunk大小範圍的?記憶體
- TOMCAT記憶體溢位及大小調整Tomcat記憶體溢位
- 在linux檢視記憶體的大小(轉)Linux記憶體
- 如何用JavaScript獲取圖片的真實尺寸大小JavaScript
- 淺談快取寫法(三):記憶體快取該如何設計快取記憶體
- 多核cpu、cpu快取記憶體、快取一致性協議、快取行、記憶體快取記憶體協議