㈠ 如何編譯OpenWrt
搭建編譯環境。編譯建議在Linux下進行。我的系統是Linux mint 17,執行以下命令,構建編譯環境:
sudo apt-get update
sudo apt-get install git-core build-essential
獲取openwrt源碼。在當前用戶主目錄下執行
git clone git://git.openwrt.org/openwrt.git
等待代碼下載。結束後,目錄下會出現openwrt文件夾。
配置軟體源。進入openwrt目錄,執行
./scripts/feeds update -a
./scripts/feeds install -a
檢查編譯環境是否完整:
make defconfig
make prereq
根據提示信息安裝需要的軟體包。如果提示類似
「tmp/.config-package.in:22022:warning: multi-line strings not supported」
的信息,打開 openwrt/tmp/.config-package.in,定位到對應行,添上丟掉的一個引號就可以了。
編譯選項:
執行 make menuconfig,根據路由器情況,選擇 Target System 和 Subtarget。如意雲一代和極壹S的 Target System 均為 Ralink RT288x/RT3xxx 。對於Subtarget ,前者為 MT7620n based boards ,後者為 MT7620a based boards。
其他選項根據個人喜好選擇。一般來說要選中LuCI界面,選中中文語言包等等。
開始編譯:
執行 make -j2 V=s 進行編譯。-j後面的數字是電腦物理CPU數量加一。V=s可以顯示出編譯的詳細信息。首次編譯大概需要幾個小時的時間。
錯誤排查:
編譯失敗,一般有兩種情況:
1.代碼下載鏈接失效。首次編譯時,編譯程序會實時從網上下載一些軟體包的代碼。如果下載鏈接失效,編譯就會失敗。這時需要根據軟體包的名稱,從網上自行下載,然後放在 openwrt/dl/ 目錄下,執行 make -j2 V=s 繼續編譯即可。
2.軟體包自身有問題。這時重新執行 make menuconfig ,取消對應軟體包選中即可。這種情況比較少見,目前已知的有 tor 等。
編譯成功,但沒有生成固件。這種情況一般是因為選中的軟體包過多,導致固件大小超過16MB。重新執行 make menuconfig,去掉一些軟體包,重新執行編譯即可。
得到固件。在排除了所有錯誤後,現在終於得到了固件。對於如意雲RY-1,固件在 openwrt/bin/ramips 目錄下,形如
openwrt-ramips-mt7620n-rt-n14u-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wrtnode-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-mlw221-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wr8305rt-squashfs-sysupgrade.bin
等等。
㈡ 如何編譯Windows下的OpenOCD
【OpenOCD介紹】
OpenOCD為嵌入式目標系統提供一個調試,在線編程和JTAG邊界掃描測試的工具。支持Wiggler,基於FT2232的JTAG界面等一些調試器。目標晶元支持ARM7,ARM9, ARM10, ARM11和Cortex等核心的晶元。並提供一個GDB Server介面。
【OpenOCD的編譯和安裝】
1. 如果是Windows平台的話,需要先安裝Cygwin環境,注意一定要選擇安裝以下開發包:
- autoconf: Wrapper scripts for autoconf commands
- automake: Wrapper scripts for automake and aclocals
- gcc: C compiler upgrade helper
- make: The GNU version og the 'make' utility
- subversion: A version control system
(可以完全安裝,佔用5G多的空間,需要下載800M的文件)。
2. 下載OpenOCD的SVN源代碼,打開Cygwin命令行界面,執行如下的命令:
mkdir /home/openocd
cd /home/openocd
svn checkout svn://svn.berlios.de/openocd/trunk或是
svn checkout http://svn.berlios.de/svnroot/repos/openocd/trunk trunk
下載需要一定的時間,完成後,當前目錄下就多了trunk目錄,裡面就有源代碼。
3. 如果你想要編譯用於FT2232介面的openocd,需要下載FTDI的驅動
解壓後會自動生成一個文件夾"CDM 2.04.06 WHQL Certified" , 從/i386或/amd64中(根據你的系統來選擇)復制 ftd2xx.lib到/home/openocd/ftd2xx(自己建立)中。現在在openocd文件夾下就有兩個文件夾,如下:
/home/openocd/trunk
/home/openocd/ftd2xx
4. 接著使用如下命令配置並編譯:
cd trunk
./bootstrap
如果你想生成一個基於cygwin的openocd,則輸入
./configure --enable-ft2232_ftd2xx --with-ftd2xx=/home/openocd/ftd2xx
生成一個基於mingw 的openocd,則輸入
./configure --enable-ft2232_ftd2xx --with-ftd2xx=/home/openocd/ftd2xx CC="gcc -mno-cygwin"
如果想同時支持FT2232和Wiggler,則輸入
./configure --enable-parport –enable-parport_giveio --enable-ft2232_ftd2xx --with-ftd2xx=/home/openocd/ftd2xx CC="gcc -mno-cygwin"
正確配置之後,就可以運行以下命令生成 OpenOCD:
make // 即可在/trunk/src中生成openocd
make install // 將openocd和配置文件安裝到/usr/local/bin和/usr/local/lib中
make pdf // 在/trunk/doc中生成pdf (必須安裝tex)
這樣OpenOCD就編譯並安裝完成了,並在doc目錄下生產了openocd.pdf幫助文檔。
可以使用命令"openocd -v"來查看版本。
【OpenOCD的配置】
詳細配置說明,請參考幫助文檔
LPC2000的配置文件(openocd.cfg):
#daemon configuration
telnet_port 4444
gdb_port 3333
tcl_port 6666
# tell gdb our flash memory map
# and enable flash programming
gdb_memory_map enable
gdb_flash_program enable
#interface
interface ft2232
ft2232_device_desc "USB Serial Converter A"
#ft2232_device_desc "USB OpenOCD JTAG A"
ft2232_layout "usbjtag"
ft2232_vid_pid 0x0403 0x6010
jtag_speed 3
#jtag_khz 300
#delays on reset lines
jtag_ntrst_delay 200
# NOTE!!! LPCs need reset pulled while RTCK is low. 0 to activate
# JTAG, power-on reset is not enough, i.e. you need to perform a
# reset before being able to talk to the LPC2148, attach is not
# possible.
#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst srst_pulls_trst
#LPCs need reset pulled while RTCK is low. 0 to activate JTAG, power-on reset is not enough
jtag_reset 1 1
jtag_reset 0 0
#jtag scan chain
jtag_device 4 0x1 0xf 0xe
target arm7tdmi little 0 arm7tdmi-s_r4
[new_target_name] configure -event reset-init {
# Force target into ARM state
soft_reset_halt
#do not remap 0x0000-0x0020 to anything but the flash
mwb 0xE01FC040 0x01
}
working_area 0 0x40000000 0x4000 nobackup
#flash bank lpc2000 <base> <size> 0 0 <target#> <variant>
flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765
【OpenOCD的測試】
打開Cygwin命令行界面,執行命令:
openocd -f openocd.cfg
以下是我的運行截圖:
【IAR的配置】
在項目選項的Debug中的setup頁里,選擇GDB Server;
如果代碼需要下載到flash中運行,Download頁里選擇Use flash loader;在plugin頁里,可以去掉stack以提高速度。
在下面的GDB Server中,TCP/IP address or hostname中添localhost。
之後就可以按調試按鈕開始調試了。
㈢ openwrt怎麼選擇編譯版本
可以參考以下步驟:
開機登陸到支持編譯Openwrt的操作系統
3.32位(x86)請執行下列命令:
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext
git libncurses5-dev libz-dev patch unzip zlib1g-dev
64位(x86_64)請執行下列命令:
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext
git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs
lib32gcc1 libc6-dev-i386
㈣ openwrt怎麼編譯指定的目標版
編譯流程
編譯專屬於您的設備的特定Openwrt固件以一下五個步驟:
通過Subversion命令獲得源代碼;
更新(或安裝) package feeds[package feeds無法確切翻譯,待譯吧);
創建一個默認配置以檢查編譯環境是否搭建好了 (假如需要的話);
用Menuconfig來配置即將編譯生成的固件映像文件的配置項;
最後開始編譯固件;
㈤ 如何編譯OpenWrt
准備工作
在開始編譯Openwrt之前需要您做些准備工作;與其他編譯過程一樣,類似的編譯工具和編譯環境是必不可少的:
一個構建OpenWrt映像的系統平台,簡單說就是准備一個操作系統(比如Ubuntu、Debian等);
確保安裝了所需的依賴關系庫, (在debian系統中就是安裝各種需要的軟體包)
OpenWrt源代碼副本
首先, 開機登陸到支持編譯Openwrt的操作系統(廢話了)。實體機或者虛擬機(Vmware 或者 Qemu)里的操作系統都行,這里推薦使用Linux系統。 bsd和mac osx系統也可以編,但不推薦,且未驗證是否可編譯成功。下文假定您使用的是Debian操作系統,使用 apt-get 來管理包. 替代的選擇是 Ubuntu (分支 Kubuntu, Xubuntu 等即可)。
第二步, 就是安裝所需要的各種軟體包, 包括編譯器,解壓工具,特定的庫等. 這些工作可以簡單的通過鍵入以下命令 (通常需要root 或者是 sudo 許可權),以root許可權安裝下列軟體包(可能並不完整,會有提示,提示缺少即裝就可以了):
32位(x86)請執行下列命令:
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev
64位(x86_64)請執行下列命令(多裝了哪些庫或軟體包呢?請您仔細看一看哦):
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs \
lib32gcc1 libc6-dev-i386
參考 本列表中 所列的編譯環境所需要軟體包或庫。
某些依賴的為庫或軟體包也許操作系統中已經安裝過,此時apt-get會作出提示(提示您忽略或重新安裝的),別緊張,放輕鬆些,編譯Openwrt不會像編譯DD-WRT那樣難的(至少本人是體會到了編譯DD-WRT的難)。
最後下載一份完整的 Openwrt 源碼到編譯環境中。關於Openwrt的源代碼下載,途徑有二,一是通過 svn ,一是通過 git,建議使用 svn ,因為Openwrt主要以 svn 來維護Openwrt系統的版本。另外,請注意Openwrt中不同的分支版本,一個是用得較多的開發快照,俗稱 trunk,二是穩定版,俗稱 backfire。
㈥ 哪位高手能告訴我吉他的open E調弦怎麼調急!!!大神們幫幫忙
Open Dsus4調弦法的具體方法是這樣,具體還要你自己多研究 至於E調我不是很清楚 如果你是有把標准調弦的琴,就把126弦降大二度(就是調松2品的音高,自己聽,假設原來是mi,降到re,用弦對比調,比如調1弦可以先按二弦的3品,調一弦到那個音高就好,如果是6弦,就讓它按到7品時候和5弦一樣),543弦不動, 如果沒有,就6根弦隨便以哪個為標准.用6弦7品=5弦空,5弦5=4弦空,4弦5=3弦空,3弦2=2弦空,2弦3=1弦空來調 6 5 4 3 2 1弦 D A D G A D 上面是琴弦,你要按這個順序來調整。 你知道下面這些樂理嗎?可以說隨便一本彈唱書上面都會有這個基礎知識。你沒有學過的話那真的很遺憾,你的基本知識太差,需要找老師補習一下。 簡譜1 2 3 4 5 6 7 唱作DO RE MI FA SO LA TI 音名C D E F G A B 還有一個問題,吉他6根弦標準定音你可否知道? 關於這個怎麼定音,我剛才給你答案了。 你可以想一下,自己試試。記住6弦是D,可不是讓你擰緊,你放鬆一個全音。也就是降低。特殊調弦多為降低,升高的也有,比較少。
㈦ open cascade怎麼導入3d模型
一、安裝OpenCASCADE
可以從OpenCASCADE的官網上下載其安裝包,可以選擇最新的版本。如果只用其庫來編程已經夠了,安裝好下載的安裝包即可。若想對其進行調試,必須先把它編譯成功。想編譯通過,必須下載第三方庫,因為OpenCASCADE中用到了第三方的工具。如:FreeImage為通用圖形格式的支持;FreeType和Ftgl為對文字渲染的支持,包括對中文渲染的支持;gl2ps用來將渲染的內容轉換為矢量圖形輸出,等等。第三方庫都可以從官網上提供的鏈接來下載,因為不同的版本可能用到的第三方庫的版本也不同,必須保持一致。
有的時候編譯通不過,可能報的錯誤就是第三方庫的版本與安裝好的OpenCASCADE的版本不一致造成的。把與編譯工具相應版本的第三方庫重新編譯並放到相應的目錄下就可解決問題。這也是OpenCASCADE推薦的方法,原文如下:The recommended way to do this is to download each of the third-party tools from its web site and build it using the relevant tools.
二、編譯OpenCASCADE
OpenCASCADE6.5.0以後對編譯環境的設置採用了批處理的方式。在安裝完畢後的文件目錄中有個ros的文件夾,其中有幾個批處理文件:env.bat、env_build.bat、msvc.bat。打開這幾個批處理文件,會發現它們就是在設置編譯環境。早期版本是直接寫到系統的環境變數中去,現在是運行批處理文件msvc.bat,根據不同的工具,輸入以下參數,示例為:vc8 win32 Debug adm\win32\vc8\OCCT.sln。即運行命令切換到ros文件夾,輸入下面的命令:msvc.bat vc8 win32 Debug adm\win32\vc8\OCCT.sln就可以啟動整個項目,後面是一些選項設置,如使用的是VC8編譯工具,平台為win32,輸出為Debug。若是使用的Visual Studio 10則輸入參數vc10 win32 Debug adm\win32\vc10\OCCT.sln即可,也很方便。
編譯順序也是非常重要的,必須按如下順序進行:
1. Foundation Classes (file FoundationClasses.sln)
2. Modeling Data (file ModelingData.sln)
3. Modeling Algorithms (file ModelingAlgorithms.sln)
4. Visualization (file Visualization.sln)
5. Application Framework (file ApplicationFramework.sln)
6. Data Exchange (file DataExchange.sln)
7. Draw (file Draw.sln)
如下圖清晰所示:
三、總結
編譯成功後,可以為以後程序的調試打下基礎;也可對OpenCASCADE有個大概認識。
㈧ 我想為openwrt編譯一個軟體包,應該怎麼辦
下面是Makefile中一些約定俗成的目標名稱及其含義:
all
編譯整個軟體包,但不重建任何文檔。一般此目標作為默認的終極目標。此目標一般對所有源程序的編譯和連接使用"-g"選項,以使最終的可執行程序中包含調試信息。可使用 strip 程序去掉這些調試符號。
clean
清除當前目錄下在 make 過程中產生的文件。它不能刪除軟體包的配置文件,也不能刪除 build 時創建的那些文件。
distclean
類似於"clean",但增加刪除當前目錄下的的配置文件、build 過程產生的文件。
info
產生必要的 Info 文檔。
check 或 test
完成所有的自檢功能。在執行檢查之前,應確保所有程序已經被創建(但可以尚未安裝)。為了進行測試,需要實現在程序沒有安裝的情況下被執行的測試命令。
install
完成程序的編譯並將最終的可執行程序、庫文件等拷貝到指定的目錄。此種安裝一般不對可執行程序進行 strip 操作。
install-strip
和"install"類似,但是會對復制到安裝目錄下的可執行文件進行 strip 操作。
uninstall
刪除所有由"install"安裝的文件。
installcheck
執行安裝檢查。在執行安裝檢查之前,需要確保所有程序已經被創建並且被安裝。
installdirs
創建安裝目錄及其子目錄。它不能更改軟體的編譯目錄,而僅僅是創建程序的安裝目錄。
下面是 Makefile 中一些約定俗成的變數名稱及其含義:
這些約定俗成的變數分為三類。第一類代表可執行程序的名字,例如 CC 代表編譯器這個可執行程序;第二類代表程序使用的參數(多個參數使用空格分開),例如 CFLAGS 代表編譯器執行時使用的參數(一種怪異的做法是直接在 CC 中包含參數);第三類代表安裝目錄,例如 prefix 等等,含義簡單,下面只列出它們的默認值。
AR 函數庫打包程序,可創建靜態庫.a文檔。默認是"ar"。
AS 匯編程序。默認是"as"。
CC C編譯程序。默認是"cc"。
CXX C++編譯程序。默認是"g++"。
CPP C/C++預處理器。默認是"$(CC) -E"。
FC Fortran編譯器。默認是"f77"。
PC Pascal語言編譯器。默認是"pc"。
YACC Yacc文法分析器。默認是"yacc"。
ARFLAGS 函數庫打包程序的命令行參數。默認值是"rv"。
ASFLAGS 匯編程序的命令行參數。
CFLAGS C編譯程序的命令行參數。
CXXFLAGS C++編譯程序的命令行參數。
CPPFLAGS C/C++預處理器的命令行參數。
FFLAGS Fortran編譯器的命令行參數。
PFLAGS Pascal編譯器的命令行參數。
YFLAGS Yacc文法分析器的命令行參數。
LDFLAGS 鏈接器的命令行參數。
prefix /usr/local
exec_prefix $(prefix)
bindir $(exec_prefix)/bin
sbindir $(exec_prefix)/sbin
libexecdir $(exec_prefix)/libexec
datadir $(prefix)/share
sysconfdir $(prefix)/etc
sharedstatedir $(prefix)/com
localstatedir $(prefix)/var
libdir $(exec_prefix)/lib
infodir $(prefix)/info
includedir $(prefix)/include
oldincludedir $(prefix)/include
mandir $(prefix)/man
srcdir 需要編譯的源文件所在的目錄,無默認值