天天看點

樹莓派3學習筆記(7):7寸(分辨率800 480)顯示器配置

樹莓派3學習筆記(7):7寸(分辨率800 480)顯示器配置

1.關于無法全屏顯示問題解決

        樹莓派搭載分辨率為800X480的顯示器在顯示的時候可能會遇到無法全屏顯示的問題, 顯示器隻有部分能夠顯示,有一部分是黑邊,對于這一種情況,我們隻需進入系統的boot目錄,找到config.txt檔案,或者直接在指令行輸入:

sudo vim /boot/config.txt      

就可以修改對應的配置檔案,前提是你安裝了vim,否則會出現按鍵鍵值錯誤的情況,使用

sudo apt-get install vim      

可以安裝vim,然後使用以上兩種方法打開config.txt檔案,在檔案末尾增加以下參數就行(#号後面為注釋,可以不用輸入)。

#remove black borders
disable_overscan=1
#set specific CVT mode
hdmi_cvt 800 480 60 6 0 0 0
#set CVT as default
hdmi_group=2
hdmi_mode=87      

最後重新開機。

sudo reboot      

2.config.txt配置檔案說明(原文位址)

    由于樹莓派并沒有傳統意義上的BIOS, 是以現在各種系統配置參數通常被存在”config.txt”這個文本檔案中.樹莓派的config.txt檔案會在ARM核心初始化之前被GPU讀取.這個檔案存在引導分區上的.對于Linux, 路徑通常是/boot/config.txt, 如果是Windows (或者OS X) 它會被識别為SD卡中可通路部分的一個普通檔案.如果想要編輯配置檔案, 請檢視介紹編輯樹莓派配置檔案.你可以使用下列指令去擷取目前激活的設定:

- 列出指定的配置參數.
- 例如: vcgencmd get_config arm_freq
vcgencmd get_config 
- 列出所有已設定的×××配置參數(非零)
vcgencmd get_config int
- 列出所有已設定的字元型配置參數(非零)
vcgencmd get_config str           

檔案格式

當值是×××時格式為”屬性=值”. 每行隻指定一個參數. 注釋使用’#’井号作為一行開頭.

注意: 在新版的樹莓派裡每行都有#注釋, 要想使用該行參數隻需移除#.

下面是示例檔案

# Set stdv mode to PAL (as used in Europe) sdtv_mode=2 # Force the monitor to HDMI mode so that sound will be sent over HDMI cable hdmi_drive=2 # Set monitor mode to DMT hdmi_group=2 # Set monitor resolution to 1024x768 XGA 60Hz (HDMI_DMT_XGA_60) hdmi_mode=16 # Make display smaller to stop text spilling off the screen overscan_left=20 overscan_right=12 overscan_top=10 overscan_bottom=10

這是另一個示例檔案, 包含了各種功能的擴充文檔.

記憶體

disable_l2cache 禁止ARM通路GPU的二級緩存. 相應的需要在核心中關閉二級緩存. 預設為0

gpu_mem GPU記憶體以兆為機關. 設定ARM和GPU之間的記憶體配置設定. ARM會獲得剩餘所有記憶體. 最小設為16. 預設為64

gpu_mem_256 對于有256MB記憶體的樹莓派的GPU記憶體設定. 512MB的派請忽略. 會覆寫gpu_mem. 最大設為192. 預設不設定

gpu_mem_512 對于有512MB記憶體的樹莓派的GPU記憶體設定. 256MB的派請忽略.  會覆寫gpu_mem. 最大設為448. 預設不設定

disable_pvt 禁止每500毫秒調整一次RAM的重新整理率 (RAM溫度測量).

CMA – 動态記憶體配置設定

自2012年11月19号, 固件和核心開始支援CMA, 這意味運作時可以動态管理ARM和GPU之間的記憶體配置設定. 這兒有相關config.txt示例.

cma_lwm 當GPU可用記憶體低于cma_lwm所設值, 将會向ARM請求一些記憶體.

cma_hwm 當GPU可用記憶體高于cma_hwm所設值, 将會向ARM釋放一些記憶體.

要啟用CMA,下面的參數需要添加到cmdline.txt檔案裡:

coherent_pool=6M smsc95xx.turbo_mode=N

視訊

視訊模式選項

sdtv_mode 為複合信号輸出設定視訊制式(預設為0)

sdtv_mode=0    NTSC sdtv_mode=1    日本版NTSC – 無基座 sdtv_mode=2    PAL sdtv_mode=3    巴西版PAL – 副載波為525/60而不是625/50

sdtv_aspect 為複合信号輸出設定寬高比(預設為1)

sdtv_aspect=1  4:3

sdtv_aspect=2  14:9 sdtv_aspect=3  16:9

sdtv_disable_colourburst 禁止複合信号輸出彩色副載波群. 圖檔會顯示為單色, 但是可能會更清晰

sdtv_disable_colourburst=1  禁止輸出彩色副載波群

hdmi_safe 使用”安全模式”的設定去嘗試用HDMI最大相容性啟動. 這和下面的組合是一個意思: hdmi_force_hotplug=1, config_hdmi_boost=4, hdmi_group=2, hdmi_mode=4, disable_overscan=0

hdmi_safe=1

hdmi_ignore_edid 如果你的顯示器是天朝産的, 允許系統忽略EDID顯示資料

hdmi_ignore_edid=0xa5000080

hdmi_edid_file 當設為1時, 将會從edid.dat檔案中讀取EDID資料,而不是從顯示器.

hdmi_edid_file=1

hdmi_force_edid_audio 僞裝成支援所有音頻格式播放, 即便報告不支援也允許通過DTS/AC3.

hdmi_force_edid_audio=1

hdmi_force_edid_3d 僞裝成全部CEA模式都支援3D, 即便EDID并不支援.

hdmi_force_edid_3d=1

avoid_edid_fuzzy_match 禁止去模糊比對EDID中描述的模式. 即便遮蔽錯誤, 也選用比對分辨率和最接近幀率的标準模式.

avoid_edid_fuzzy_match=1

hdmi_ignore_cec_init 不發送初始化激活源消息. 避免在重新開機時使(啟用CEC)TV結束待機并切換頻道.

hdmi_ignore_cec_init=1

hdmi_ignore_cec 僞裝成TV不支援CEC. 将不會支援任何CEC功能.

hdmi_ignore_cec=1

hdmi_force_hotplug 僞裝成HDMI熱插拔信号被檢測到, 出現HDMI顯示器被接入

hdmi_force_hotplug=1 即便沒有檢測到HDMI顯示器也要使用HDMI模式

hdmi_ignore_hotplug 僞裝成HDMI熱插拔信号沒有被檢測到, 出現HDMI顯示器未接入

hdmi_ignore_hotplug=1 即便檢測到HDMI顯示器也要使用混合模式

hdmi_pixel_encoding 強制像素編碼模式. 預設情況下會使用EDID請求的模式, 是以不需要修改.

hdmi_pixel_encoding=0 default       (limited for CEA, full for DMT) hdmi_pixel_encoding=1 RGB limited   (16-235) hdmi_pixel_encoding=2 RGB full      ( 0-255) hdmi_pixel_encoding=3 YCbCr limited (16-235) hdmi_pixel_encoding=4 YCbCr limited ( 0-255)

hdmi_drive 選擇HDMI還是DVI模式

hdmi_drive=1 DVI模式 (沒聲音) hdmi_drive=2 HDMI模式 (如果支援并已啟用将有聲音輸出)

hdmi_group 設定HDMI類型

不指定組, 或者設為0, 将會使用EDID報告的首選組.

hdmi_group=1   CEA hdmi_group=2   DMT

hdmi_mode 設定在CEA或DMT格式下的螢幕分辨率

當hdmi_group=1 (CEA)時,下列值有效 hdmi_mode=1    VGA hdmi_mode=2    480p  60Hz hdmi_mode=3    480p  60Hz  H hdmi_mode=4    720p  60Hz hdmi_mode=5    1080i 60Hz hdmi_mode=6    480i  60Hz hdmi_mode=7    480i  60Hz  H hdmi_mode=8    240p  60Hz hdmi_mode=9    240p  60Hz  H hdmi_mode=10   480i  60Hz  4x hdmi_mode=11   480i  60Hz  4x H hdmi_mode=12   240p  60Hz  4x hdmi_mode=13   240p  60Hz  4x H hdmi_mode=14   480p  60Hz  2x hdmi_mode=15   480p  60Hz  2x H hdmi_mode=16   1080p 60Hz hdmi_mode=17   576p  50Hz hdmi_mode=18   576p  50Hz  H hdmi_mode=19   720p  50Hz hdmi_mode=20   1080i 50Hz hdmi_mode=21   576i  50Hz hdmi_mode=22   576i  50Hz  H hdmi_mode=23   288p  50Hz hdmi_mode=24   288p  50Hz  H hdmi_mode=25   576i  50Hz  4x hdmi_mode=26   576i  50Hz  4x H hdmi_mode=27   288p  50Hz  4x hdmi_mode=28   288p  50Hz  4x H hdmi_mode=29   576p  50Hz  2x hdmi_mode=30   576p  50Hz  2x H hdmi_mode=31   1080p 50Hz hdmi_mode=32   1080p 24Hz hdmi_mode=33   1080p 25Hz hdmi_mode=34   1080p 30Hz hdmi_mode=35   480p  60Hz  4x hdmi_mode=36   480p  60Hz  4xH hdmi_mode=37   576p  50Hz  4x hdmi_mode=38   576p  50Hz  4x H hdmi_mode=39   1080i 50Hz  reduced blanking hdmi_mode=40   1080i 100Hz hdmi_mode=41   720p  100Hz hdmi_mode=42   576p  100Hz hdmi_mode=43   576p  100Hz H hdmi_mode=44   576i  100Hz hdmi_mode=45   576i  100Hz H hdmi_mode=46   1080i 120Hz hdmi_mode=47   720p  120Hz hdmi_mode=48   480p  120Hz hdmi_mode=49   480p  120Hz H hdmi_mode=50   480i  120Hz hdmi_mode=51   480i  120Hz H hdmi_mode=52   576p  200Hz hdmi_mode=53   576p  200Hz H hdmi_mode=54   576i  200Hz hdmi_mode=55   576i  200Hz H hdmi_mode=56   480p  240Hz hdmi_mode=57   480p  240Hz H hdmi_mode=58   480i  240Hz hdmi_mode=59   480i  240Hz H H表示16:9比例(正常是4:3). 2x表示雙倍像素(即更高的像素時脈, 每個像素重複兩次) 4x表示四倍像素(即更高的像素時脈, 每個像素重複四次)

當hdmi_group=2 (DMT)時,下列值有效 警告: 根據這篇文章所述 像素時脈是有限制的, 最高支援的模式是1920x1200 @60Hz with reduced blanking. hdmi_mode=1    640x350   85Hz hdmi_mode=2    640x400   85Hz hdmi_mode=3    720x400   85Hz hdmi_mode=4    640x480   60Hz hdmi_mode=5    640x480   72Hz hdmi_mode=6    640x480   75Hz hdmi_mode=7    640x480   85Hz hdmi_mode=8    800x600   56Hz hdmi_mode=9    800x600   60Hz hdmi_mode=10   800x600   72Hz hdmi_mode=11   800x600   75Hz hdmi_mode=12   800x600   85Hz hdmi_mode=13   800x600   120Hz hdmi_mode=14   848x480   60Hz hdmi_mode=15   1024x768  43Hz  DO NOT USE hdmi_mode=16   1024x768  60Hz hdmi_mode=17   1024x768  70Hz hdmi_mode=18   1024x768  75Hz hdmi_mode=19   1024x768  85Hz hdmi_mode=20   1024x768  120Hz hdmi_mode=21   1152x864  75Hz hdmi_mode=22   1280x768        reduced blanking hdmi_mode=23   1280x768  60Hz hdmi_mode=24   1280x768  75Hz hdmi_mode=25   1280x768  85Hz hdmi_mode=26   1280x768  120Hz reduced blanking hdmi_mode=27   1280x800        reduced blanking hdmi_mode=28   1280x800  60Hz hdmi_mode=29   1280x800  75Hz hdmi_mode=30   1280x800  85Hz hdmi_mode=31   1280x800  120Hz reduced blanking hdmi_mode=32   1280x960  60Hz hdmi_mode=33   1280x960  85Hz hdmi_mode=34   1280x960  120Hz reduced blanking hdmi_mode=35   1280x1024 60Hz hdmi_mode=36   1280x1024 75Hz hdmi_mode=37   1280x1024 85Hz hdmi_mode=38   1280x1024 120Hz reduced blanking hdmi_mode=39   1360x768  60Hz hdmi_mode=40   1360x768  120Hz reduced blanking hdmi_mode=41   1400x1050       reduced blanking hdmi_mode=42   1400x1050 60Hz hdmi_mode=43   1400x1050 75Hz hdmi_mode=44   1400x1050 85Hz hdmi_mode=45   1400x1050 120Hz reduced blanking hdmi_mode=46   1440x900        reduced blanking hdmi_mode=47   1440x900  60Hz hdmi_mode=48   1440x900  75Hz hdmi_mode=49   1440x900  85Hz hdmi_mode=50   1440x900  120Hz reduced blanking hdmi_mode=51   1600x1200 60Hz hdmi_mode=52   1600x1200 65Hz hdmi_mode=53   1600x1200 70Hz hdmi_mode=54   1600x1200 75Hz hdmi_mode=55   1600x1200 85Hz hdmi_mode=56   1600x1200 120Hz reduced blanking hdmi_mode=57   1680x1050       reduced blanking hdmi_mode=58   1680x1050 60Hz hdmi_mode=59   1680x1050 75Hz hdmi_mode=60   1680x1050 85Hz hdmi_mode=61   1680x1050 120Hz reduced blanking hdmi_mode=62   1792x1344 60Hz hdmi_mode=63   1792x1344 75Hz hdmi_mode=64   1792x1344 120Hz reduced blanking hdmi_mode=65   1856x1392 60Hz hdmi_mode=66   1856x1392 75Hz hdmi_mode=67   1856x1392 120Hz reduced blanking hdmi_mode=68   1920x1200       reduced blanking hdmi_mode=69   1920x1200 60Hz hdmi_mode=70   1920x1200 75Hz hdmi_mode=71   1920x1200 85Hz hdmi_mode=72   1920x1200 120Hz reduced blanking hdmi_mode=73   1920x1440 60Hz hdmi_mode=74   1920x1440 75Hz hdmi_mode=75   1920x1440 120Hz reduced blanking hdmi_mode=76   2560x1600       reduced blanking hdmi_mode=77   2560x1600 60Hz hdmi_mode=78   2560x1600 75Hz hdmi_mode=79   2560x1600 85Hz hdmi_mode=80   2560x1600 120Hz reduced blanking hdmi_mode=81   1366x768  60Hz hdmi_mode=82   1080p     60Hz hdmi_mode=83   1600x900        reduced blanking hdmi_mode=84   2048x1152       reduced blanking hdmi_mode=85   720p      60Hz hdmi_mode=86   1366x768        reduced blanking

overscan_left 左側跳過像素數

overscan_right 右側跳過像素數

overscan_top 頂部跳過像素數

overscan_bottom 底部跳過像素數

framebuffer_width 控制台framebuffer寬度, 以像素為機關. 預設是顯示器寬度減去超出掃描.

framebuffer_height 控制台framebuffer高度, 以像素為機關. 預設是顯示器高度減去超出掃描.

framebuffer_depth 控制台framebuffer深度, 以位為機關. 預設是16位. 8位也是有效的, 但是預設RGB調色闆會導緻螢幕不可讀. 24位效果更好 ,但是2012年6月15号發現有顯示混亂問題. 32位沒有混亂問題, 但是需要設定framebuffer_ignore_alpha=1, 并在2012年6月15号發現顔色顯示錯誤.

framebuffer_ignore_alpha 設為1将禁用alpha通道. 僅對32位有效.

test_mode 允許在啟動時做聲音與圖像測試.

disable_overscan 設為1将禁用超出掃描.

config_hdmi_boost 設定HDMI接口的信号強度. 預設為0. 如果出現HDMI幹擾問題可以試試設為4. 最大為7.

display_rotate 順時針旋轉螢幕顯示 (預設為0) 或者翻轉顯示.

display_rotate=0        正常 display_rotate=1        90度 display_rotate=2        180度 display_rotate=3        270度 display_rotate=0x10000  水準翻轉 display_rotate=0x20000  垂直翻轉

注意: 旋轉90度或者270度額外需要GPU記憶體, 是以在GPU隻配置設定到16M的時候旋轉會無效. 可能的原因:

Crashes my RPI before Linux boots if set to “1” — REW 20120913.

哪些值對我的顯示器有效?

你的HDMI顯示器可能隻支援一部分設定. 想要找出支援哪些設定, 可以使用下面的方法.

把輸出格式設為VGA 60Hz (hdmi_group=1 hdmi_mode=1) 然後啟動樹莓派

輸入下列指令可以擷取CEA支援模式的清單

/opt/vc/bin/tvservice -m CEA

輸入下列指令可以擷取DMT支援模式的清單

/opt/vc/bin/tvservice -m DMT

輸入下列指令可以擷取目前設定狀态

/opt/vc/bin/tvservice -s

輸入下列指令可以從顯示器擷取更多詳細資訊

/opt/vc/bin/tvservice -d edid.dat /opt/vc/bin/edidparser edid.dat

使用預設HDMI模式去排除問題時, edid.dat檔案同樣會提供資訊

許可的×××

你可以購買綁定樹莓派CPU序列号的證書來使用額外的硬體×××.

decode_MPG2 可開啟MPEG-2硬解的序列号.

decode_MPG2=0x12345678

decode_WVC1 可開啟VC-1硬解的序列号.

decode_WVC1=0x12345678

可在多台樹莓派間共享SD卡的序列号. 同時最多8個證書.

decode_XXXX=0x12345678,0xabcdabcd,0x87654321,...

啟動

disable_commandline_tags 在啟動核心前, 通過改寫ATAGS (0x100處的記憶體)來阻止start.elf

cmdline (string) 指令行參數. 可用來代替cmdline.txt檔案

kernel (string) 加載指定名稱的核心鏡像檔案啟動核心. 預設為”kernel.img”

kernel_address 加載kernel.img檔案位址

kernel_old (bool) 為1時, 從0x0處加載核心

ramfsfile (string) 要的加載的ramfs檔案

ramfsaddr 要加載的ramfs檔案位址

initramfs (string address) 要加載的ramfs檔案及其位址 (就是把ramfsfile+ramfsaddr合并為一項).

注意: 這項使用與其他項不同的文法 – 不要在這用”=”号. 正确示例:

initramfs initramf.gz 0x00800000

device_tree_address 加載device_tree的位址

init_uart_baud 初始化uart波特率. 預設為115200

init_uart_clock 初始化uart時序. 預設為3000000 (3Mhz)

init_emmc_clock 初始化emmc時序. 預設為100000000 (100MHz)

boot_delay 在加載核心前在start.elf等待指定秒. 總延遲=1000 * boot_delay + boot_delay_ms. 預設為1

boot_delay_ms 在加載核心前在start.elf等待指定毫秒. 預設為0

avoid_safe_mode 如果設為1, 将不以安全模式啟動. 預設為0

超頻

注意: 設定任何參數來超頻樹莓派都會在晶片中永久的儲存一個保修位, 用于檢測你的樹莓派是否超頻過. 如果裝置超頻過保修就無效了. 自2012年9月19号,你可以自由超頻而不影響保修了.

最新的核心有一個預設開啟”ondemand”調速器的cpu頻率核心驅動. 未開啟超頻并不會有任何影響. 一旦你開超頻, ARM頻率将随處理器負載而變化. 隻有在調速器需要時才會使用非預設值. 你可以使用*_min配置選項來調整最低值, 或者使用force_turbo=1來禁用動态超頻.

當晶片溫度達到85°C運作時會關閉超頻及超壓, 直到冷卻. 即使在25°C環境溫度下使用最高設定, 也不要讓溫度達到極限.

超頻選項

參數    說明

arm_freq    ARM頻率,以MHz為機關. 預設為700

gpu_freq    同時設定core_freq, h264_freq, isp_freq, v3d_freq. 預設為250

core_freq    GPU處理器核心頻率,以MHz為機關. 由于GPU要驅動二級緩存, 對ARM性能會造成影響. 預設為 250

h264_freq    視訊硬解子產品頻率,以MHz為機關. 預設為250

isp_freq    圖像傳感器管道子產品頻率,以MHz為機關. 預設為250

v3d_freq    3D子產品頻率,以MHz為機關. 預設為250

avoid_pwm_pll    不要把鎖相環用在PWM音頻. 這會略微降低模拟音頻的效果. 空閑的鎖相環允許從剩餘GPU獨立設定core_freq, 這将會比超頻有更多權限. 預設為0

sdram_freq    SDRAM頻率,以MHz為機關.預設為400

over_voltage    ARM/GPU核心電壓調節. [-16,8]用0.025V步進等同于[0.8V,1.4V]. 預設為0 (1.2V). 隻有在指定 force_turbo或current_limit_override時 (會設定保修位), 才允許數值在6以上

over_voltage_sdram    同時設定over_voltage_sdram_c, over_voltage_sdram_i, over_voltage_sdram_p

over_voltage_sdram_c    SDRAM控制器電壓調節. [-16,8]用0.025V步進等同于[0.8V,1.4V]. 預設為0 (1.2V)

over_voltage_sdram_i    SDRAM I/O電壓調節. [-16,8]用0.025V步進等同于[0.8V,1.4V]. 預設為0 (1.2V)

over_voltage_sdram_p    SDRAM phy電壓調節. [-16,8]用0.025V步進等同于[0.8V,1.4V]. 預設為0 (1.2V)

force_turbo    關閉動态CPU頻率驅動及下面的最小設定. 開啟h264/v3d/isp超頻. 預設為0. 會設定保修位.

initial_turbo    在啟動時以指定秒數 (上限為60) 或者以CPU頻率來開啟急速模式. 如果已經超頻, 能對SD卡錯誤問題有改善. 預設為0

arm_freq_min    設定動态時序的最小arm_freq. 預設為700

core_freq_min    設定動态時序的最小core_freq. 預設為250

sdram_freq_min    設定動态時序的最小sdram_freq. 預設為400

over_voltage_min    設定動态時序的最小over_voltage. 預設為0

temp_limit    過熱保護. 當晶片達到指定溫度就把時序和電源切換會預設值. 把此值設高于預設值将影響保修. 預設為85

current_limit_override    當設為”0x5A000020″時, 禁止SMPS限流保護. 在超頻過高無法重新開機時設定此項會有所幫助. 會設定保修位.

force_turbo模式

force_turbo=0

開啟對ARM核心,GPU核心和SDRAM的動态時序及電壓. 在忙的時候ARM頻率會提高到”arm_freq”并在閑的時候降低到”arm_freq_min”. “core_freq”, “sdram_freq”和”over_voltage”的行為都一樣. “over_voltage”最高為6 (1.35V). h264/v3d/isp部分的非預設值将被忽略.

force_turbo=1

關閉動态時序, 是以所有頻率和電壓會保持高值. h264/v3d/isp GPU部分的超頻也會開啟, 等同于設定”over_voltage”為8 (1.4V).

時序關系

GPU核心, h264, v3d和isp共享一個鎖相環, 是以需要相關聯的頻率. ARM, SDRAM和GPU有各自獨有的鎖相環, 是以可以設為沒有關聯的頻率.

當設了”avoid_pwm_pll=1″下列設定就沒必要了.

pll_freq = floor(2400 / (2 * core_freq)) * (2 * core_freq) gpu_freq = pll_freq / [偶數]

有效的gpu_freq會自動四舍五到到最接近的整型偶數, 是以請求core_freq為500, gpu_freq為300,算一下2000/300 = 6.666 => 6 ,結果就是333.33MHz.

已測試過的超頻設定

下表顯示了一些成功的超頻嘗試, 這些可以指導你進行超頻. 這些設定不一定能在每台樹莓派上都成功, 并且會縮短高通晶片的壽命.

arm_freq    gpu_freq    core_freq    h264_freq    isp_freq    v3d_freq    sdram_freq    over_voltage    over_voltage_sdram

800

900    275                    500

900        450                450

930    350                    500

1000        500                500    6

1050                            6

1150        500                600    8

這是一個表明Hynix産的RAM在超頻上表現不如三星産的RAM的報告.

超頻時SD卡使用

設定SD卡: http://elinux.org/RPi_Easy_SD_Card_Setup

超頻時使用6速或10速的SD卡(SHDC/SHDX)會導緻在一些天後樹莓派讀取SD卡檔案系統不穩定.

不管是ext4 , NTFS 或其他格式都一樣.

不管是哪家SD卡生産商都一樣.

不管是哪個版本的樹莓派都一樣.

這與SD卡容量無關 – 實際驗證出現在16G或更大的SD卡上.

! 關鍵是你何時讓樹莓派功率不足,也就是低于樹莓派的基本設定需求 !

popcornmix發表在https://github.com/raspberrypi/linux/issues/280:

“超頻會導緻SD卡錯誤.這情況往往是與闆子相關(就是說有些樹莓派超頻後SD卡沒事,有些不行).

我認為通常都是core_freq導緻的SD卡問題(和arm_freq,sdram_freq比)”

在2013年4月寫這個提示的時候在樹莓派官方論壇上一共有137個有關于SD的問題, 絕大部分與超頻有關.

如果你使用6速或10速SD卡, 還想要樹莓派穩定運作:  不要嘗試超頻,否則很可能會丢失資料

監測溫度及電壓

要檢測樹莓派的溫度, 看: /sys/class/thermal/thermal_zone0/temp

要檢測樹莓派目前的頻率, 看: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

要檢測樹莓派電源裝置的電壓, 你需要一個萬用電表, 接上電源測試點, 或者擴充頭.

通常來說要保持核心溫度低于70度, 電壓高于4.8V. (另外請注意, 不要用那種便宜的USB電源, 那基本上是4.2V的, 這是因為那本來就是為充3.7V锂電池設計的, 根本無法為樹莓派提供穩定的5V電壓). 此外, 用散熱片也是個好主意, 尤其是你把樹莓派裝到了殼子裡. 一個合适的散熱器是自帶不幹膠栅格狀的 14x14x10 mm 散熱片.

超頻穩定性測試

大多數超頻問題立馬就會出現啟動問題, 但還是會随時間而出現檔案系統問題. 這是一個對系統,特别是SD卡進行壓力測試的腳本. 如果腳本執行完成, dmesg中不提示任何錯誤, 你做的超頻設定可能會比較穩定.

如果系統崩潰了, 在重新開機時按住shift鍵, 這會臨時性關閉所有超頻. 同樣, 注意SD卡問題通常由core_freq造成,不要在raspi-config預設的高速(950 MHz)和超速(1 GHz)裡來個大跳越(從250 MHz飛到500 MHz).

#!/bin/bash #Simple stress test for system. If it survives this, it's probably stable. #Free software, GPL2+

echo "Testing overclock stability..."

#Max out the CPU in the background (one core). Heats it up, loads the power-supply. nice yes >/dev/null &

#Read the entire SD card 10x. Tests RAM and I/O for i in `seq 1 10`; do echo reading: $i; sudo dd if=/dev/mmcblk0 of=/dev/null bs=4M; done

#Writes 512 MB test file,  10x. for i in `seq 1 10`; do echo writing: $i; dd if=/dev/zero of=deleteme.dat bs=1M count=512; sync; done

#Clean up killall yes rm deleteme.dat

#Print summary. Anything nasty will appear in dmesg. echo -n "CPU freq: " ; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq echo -n "CPU temp: " ; cat /sys/class/thermal/thermal_zone0/temp dmesg | tail

繼續閱讀