u-boot裁減

http://blog.csdn.net/menuconfig/article/details/2276078
u-boot裁減的主要方法是通過刪除不需要的命令來減小可執行代碼體積。比如說,如果不需要網絡相關的功能,則可以將網絡相關的所有命令全部刪除,可以節約可觀的flash空間一般u-boot的大小為100k左右,通過刪除命令(如果刪除網絡相關的命令),可以裁減到64k以內,只保留一些經常使用的命令。
另外,如果需要動態修改環境變量,環境變量還需要單獨分配一個flash扇區用于保存。這樣大約就需要64k+64kflash空間。如果我們不需要動態修改環境變量,可以省去一個扇區的Flash開銷。
以下是本人裁減u-boot的基本步驟:
1,刪除除默認命令以外的命令:
??? 刪除include/configs/naribf533.hCONFIG_COMMANDS的定義,直接采樣默認的命令。可以將u-boot108k裁減到79k
2,刪除其他不需要的命令,只保留常用命令:
通過修改include/cmd_confdefs.h中的CFG_CMD_NONSTD常量,進一步裁減u-boot命令。CFG_CMD_NONSTD為“non-standard”命令,除了這個常量定義的命令外,其余都是常用命令。我們可以通過在這個常量中添加不需要的命令來減少默認命令的數量。我們這里只保留以下命令,其余全部裁減掉:
??????? - alias for 'help'
autoscr - run script from memory
base??? - print or set address offset
bdinfo?- print Board Info structure
bootm?? - boot application image from memory
cmp???? - memory compare
coninfo - print console devices and information
cp????? - memory copy
crc32?? - checksum calculation
echo??? - echo args to console
erase?? - erase FLASH memory
fl????? - flush a file to FLASH memory
flinfo?- print FLASH memory information
go?? ???- start application at address 'addr'
help??? - print online help
loadb?? - load binary file over serial line (kermit mode)
loads?? - load S-Record file over serial line
loop??? - infinite loop on address range
md????? - memory display
mm????? - memory modify (auto-incrementing)
mtest?? - simple RAM test
mw????? - memory write (fill)
nm????? - memory modify (constant address)
oc????? - over clocking
printenv- print environment variables
protect - enable or disable FLASH write protection
reset?? - Perform RESET of the CPU
run???? - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv?- set environment variables
sleep?? - delay execution for some time
version - print monitor version
最終可以將uboot裁減到63k
3,修改控制臺返回信息和環境變量:
修改環境變量的存儲扇區地址,并刪除無用的環境變量或相應修改成對應于我們開發板的環境變量。
相應修改一些控制臺返回信息。
4,如果不動態修改環境變量,建議刪除saveenv命令,以免誤擦除u-boot程序。同時將內核存放地址修改為20010000
轉自 ?http://www.eefocus.com/myspace/blog/show_77755.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254122.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254122.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254122.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PhpStudy 升級 MySQL 版本到5.7

1:備份當前數據庫數據、 最好是導成 SQL 文件2:備份 PhpStudy 下的 MySQL 文件夾、以防升級失敗、還可以使用舊版本的數據庫3:下載MySQL5.7、解壓、然后放在 PhpStudy 下的 MySQL 文件夾下地址:https://dev.mysql.com/downloads/f…

使用直線標定板進行相機畸變校正,并且進行9點標定(halcon)

直線標定板圖片: 機械吸頭位置圖片: 處理代碼 read_image (Image, 直線標定板圖片/Left201118140641772.bmp) get_image_size (Image, Width, Height) dev_close_window () dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display…

github設置添加SSH

很多朋友在用github管理項目的時候,都是直接使用https url克隆到本地,當然也有有些人使用 SSH url 克隆到本地。然而,為什么絕大多數人會使用https url克隆呢? 這是因為,使用https url克隆對初學者來說會比較方便&…

linux設置套接字緩沖區的大小

系統提供的socket緩沖區大小為8K,你可以將之設置為64K,尤其在傳輸實時視頻時。 socket發送數據時候先把數據發送到socket緩沖區中,之后接受函數再從緩沖區中取數據,如果發送端特別快的時候,緩沖區很快就被填滿&#x…

【Java MyBatis Generator】使用generator自動生成Dao,Mapping和實體文件

具體請參照&#xff1a; http://blog.csdn.net/fengshizty/article/details/43086833 按照上面博客地址&#xff0c;下載Generator的依賴包&#xff1a; 如下是我的配置文件&#xff1a; 1 <?xml version"1.0" encoding"UTF-8"?>2 <!DOCTYPE ge…

h5移動端設備像素比dpr介紹

首先介紹一下概念 devicePixelRatio其實指的是window.devicePixelRatio window.devicePixelRatio是設備上物理像素和設備獨立像素(device-independent pixels (dips))的比例。 公式表示就是&#xff1a;window.devicePixelRatio 物理像素 / dips 好了&#xff0c;到了這里有出…

halcon直線標定板對相機標定的效果評估(對比矯正前后、對比標定板矯正效果)

原圖 程序源碼 * gen_caltab (7, 7, 0.0025, 1/2.5, GB025標定板.descr, GB025標定板.ps) * Calibration 01: Code generated by Calibration 01 * CameraParameters : [0.048105,-44.0585,8.31518e-006,8.3e-006,641.37,588.269,1280,1024] * CameraPose : [-0.000849522,-0.…

【QQ輸入法】QQ輸入法-剪切板 釋放內存

發現一個神奇的情況&#xff1a; 清除和關閉的操作&#xff1a; 1. 2.右鍵 3.點擊 4.清空 5.最后需要關閉 QQ輸入法的進程

Socket編程原理

什么是SocketSocket接口是TCP/IP網絡的API&#xff0c;Socket接口定義了許多函數或例程&#xff0c;程序員可以用它們來開發TCP/IP網絡上的應用程序。要學Internet上的TCP/IP網絡編程&#xff0c;必須理解Socket接口。Socket接口設計者最先是將接口放在Unix操作系統里面的。如果…

【XLL 框架庫函數】 TempActiveCell/TempActiveCell12

這兩個函數創建 XLOPER/XLOPER12 &#xff0c;包含了當前激活工作表上的單元格引用。 LPXLOPER TempActiveCell(WORD row, BYTE col); LPXLOPER12 TempActiveCell12(RW row, COL co); 參數 row 引用行號&#xff0c;行號參數是從0開始的&#xff0c;因此 第一行就是0. col 引用…

POJ 3264 Balanced Lineup【線段樹區間查詢求最大值和最小值】

Balanced Lineup Time Limit: 5000MS Memory Limit: 65536KTotal Submissions: 53703 Accepted: 25237Case Time Limit: 2000MSDescription For the daily milking, Farmer Johns N cows (1 ≤ N ≤ 50,000) always line up in the same order. One day Farmer John decides to…

halcon測試一張圖片是否過曝或過暗

read_image (Image, 1.bmp) count_obj (Image, Number) if(Number<0)return() endif min_max_gray (Image, Image, 0, Min, Max, Range) if(Min<1)*圖像過暗 endif if(Max>254)*圖像過曝 endif

真的要做一輩子的程序員嗎?來自10年程序員的心聲

經常聽一些同學說&#xff1a;不知道下一份工作該去哪類公司做些什么&#xff0c;我的職場人際一團糟老板不重視我&#xff0c;我現在成長的非常慢所以又想跳槽了&#xff0c;我看不到公司的發展前景好迷茫&#xff0c;其實這一切的困惑都來源于沒有做好職業規劃或者你根本就沒…

網絡編程之 TCP / UDP 及其流程比較

TCP與UDP的區別 1、基于連接與無連接 2、對系統資源的要求&#xff08;TCP較多&#xff0c;UDP少&#xff09;3、UDP程序結構較簡單 流模式與數據報模式 4、TCP保證數據正確性&#xff0c;UDP可能丟包 5、TCP保證數據順序&#xff0c;UDP不保證具體編程時的區別 1、socket()的參…

Tomcat在Linux上的安裝與配置

Tomcat在Linux上的安裝與配置 1、 jdk下載地址&#xff1a; http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html tomcat下載地址:http://tomcat.apache.org/download-70.cg 2、jdk安裝與配置.&#xff08;rpm包&#xff09; (1)jdk安裝…

Spring在3.1版本后的bean獲取方法的改變

xml配置不變&#xff0c;如下 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://…

使用halcon選擇點擬合成直線求直線角度

原圖 源碼 read_image (Image, 0.bmp) dev_clear_window () dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display (Image)binary_threshold (Image, Region, max_separability, dark, UsedThreshold) connection (Region, ConnectedRegions) select_s…

Linux網絡/firewalld和netfilter/netfilter/iptables語法

為什么80%的碼農都做不了架構師&#xff1f;>>> linux網絡相關 查看網卡網絡信息 ifconfig 命令查看網卡網絡信息&#xff0c;比如ip、網關、子網掩碼等&#xff0c;但是安裝centos7的版本或者某些未知原因&#xff0c;此命令提示找不到&#xff0c;我們可以使用Yu…

Chrome開發者工具詳解(4)-Profiles面板

Chrome開發者工具詳解(4)-Profiles面板 如果上篇中的Timeline面板所提供的信息不能滿足你的要求&#xff0c;你可以使用Profiles面板&#xff0c;利用這個面板你可以追蹤網頁程序的內存泄漏問題&#xff0c;進一步提升程序的JavaScript執行性能。 概述 當前使用的Chrome最新版為…

etcd raft library設計原理和使用

早在2013年11月份&#xff0c;在raft論文還只能在網上下載到草稿版時&#xff0c;我曾經寫過一篇blog對其進行簡要分析。4年過去了&#xff0c;各種raft協議的講解鋪天蓋地&#xff0c;raft也確實得到了廣泛的應用。其中最知名的應用莫過于etcd。etcd將raft協議本身實現為一個l…