㈠ 如何编译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 需要编译的源文件所在的目录,无默认值