gentoo 配置 avr 开发环境
在Linux 环境下进行avr开发还是很简单的。 首先去 atmel 官网上面下载工具链 地址是 别忘了下载下面的头文件。把工具链和头文件都解压以后,把头文件放入工具链所在文件夹下面的 include 文件夹下面就可以了。 然后不要忘了把工具链文件夹下面的bin文件夹加入 PATH 中。 这样就可以了。
在Linux 环境下进行avr开发还是很简单的。 首先去 atmel 官网上面下载工具链 地址是 别忘了下载下面的头文件。把工具链和头文件都解压以后,把头文件放入工具链所在文件夹下面的 include 文件夹下面就可以了。 然后不要忘了把工具链文件夹下面的bin文件夹加入 PATH 中。 这样就可以了。
jlinkgdbserver设置
点击eclipse菜单run–>external tools→external tools configurations. 新建一个jlinkgdbserver
location: /home/ptz/opt/jlink/JLink_Linux_V462a/JLinkGDBServer
如果你使用的是SWD模式,那么下面需要加上这个: arguments: -if SWD
build标签页取消 build before launch
debugger设置 eclipse debug 设置,如果没有 gdb hardware debugging,那么首先要安装这个插件 如果有这个插件,那么 run->debug configurations->gdb hardware debugging 新建一个 main标签页 c/c++ app: 选择生成的调试文件 project: 工程名
debugger 标签页 gdb command: 选择arm-none-eabi-gdb use remote: jtag->tcp/ip, host name:localhost, port number: 2331
startup 标签页 init commands:
monitor flash device = STM32L152VB monitor interface SWD monitor flash download = 1 monitor flash breakpoints = 1 monitor clrbp monitor endian little monitor speed 5 monitor reset monitor sleep 100 monitor speed auto monitor writeu32 0xE000ED08 = 0x00000000
run commands:
monitor reg r13 = (0x00000000) monitor reg pc = (0x00000004) break ResetHandler break main continue
这样就配置完成了,需要调试的时候,首先先运行jlinkgdb,然后在运行debugger就可以了。 不过有需要注意的是jlinkgdbserver不会自己退出,如果需要使用jlinkflash,那么需要手动 kill jlinkgdbserver 这个进程
开启jlink,连接成功了以后 ./JLinkExe
设置写入的芯片 exec device=STM32L152VB
下载程序,注意这里的hex文件必须是bin编码的。 loadbin stm32l/Debug/stm32l152vb-gpio.hex 0x08000000
芯片复位 r
芯片运行 g
linux 上面的office软件用起来不是很顺手,所以就想到了wps-linux 系统是gentoo
vim /etc/portage/package.accept_keywords
=app-office/wps-office-9.1.0.4032_alpha10 ~x86
vim /etc/portage/package.use
app-office/wps-office corefonts
然后 emerge --verbose wps-office
等待安装完成
这时候就已经可以启动wps了,不过会提示缺少字体,可以去
下载相应的字体,或者下载下面的附件,然后解压放入 ~/.fonts/wps_symbol_fonts/
这样就可以了
gentoo 上面搞定了 x server,就可以搞 gnome 了
修改 make.conf
USE="-qt4 -kde X dbus gtk gnome"
echo "gnome-base/gnome-session branding" >> /etc/portage/package.use
编译gnome大约要9个多小时
emerge gnome
env-update && source /etc/profile
/etc/init.d/dbus start
rc-update add dbus default
echo "exec gnome-session" > ~/.xinitrc
sed -i '1i\export XDG_MENU_PREFIX=gnome-' ~/.xinitrc
按照教程,添加 nsplugin USE 标记给gnash,有了这个标记才能集成到浏览器中去 www-plugins/gnash nsplugin 然后 emerge nsplugin
但是发现 aurora 还是看不了 视频。
所以我使用了 adobe-flash, emerge adobe-flash 安装了这个以后,终于可以看视频和网上的百度文档了。
先按照WIKI修改USE, app-emulation/wine fontconfig gecko gstreamer jpeg mp3 png truetype alsa -oss X nls opengl xcomposite udisks -custom-cflags -test threads win32
然后在 emerge --verbose wine 然后在下载脚本 wget
chmod u+x winetricks
移动到 ~/bin 下面
vim ~/.bashrc PATH="/home/xxx/bin:$PATH"
运行来安装库 winetricks msxml6 gdiplus riched20 riched30 ie6 vcrun6 vcrun2005sp1 flash 注意如果报校验错误的话,可以直接使用 wine 绝对路径的方法来安装某些库。 ie6可能需要找其他的地址来下载安装,自带的地址实在是太慢了。
这边下载一个字体文件放到 ~/.wine/dosdevices/c:/windows/Fonts 下面
打开 Wine 的注册表(直接在终端输入 regedit 即可,界面和windows注册表一样),按照找到下面得地方修改即可,没有的项目手动建立字符串就可以了。
打开[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
MS Shell Dlg = SimSun
MS Shell Dlg 2 = SimSun
Tahoma = SimSun (这个没有,需要手动新建字符串)
现在就可以开始安装QQ了。 安装完了以后也没有问题。
附录:
字体设置
在使用UTF-8为Locale的系统中,此问题广泛存在,如Ubuntu、Gentoo等(Debian Sid已经不存在这个问题)。在没有进行手动设置的情况下,表现为CPU长时间处在高负荷,程序运行极其缓慢……
让我们修改配置文件,解决这个问题。首先备份:
cd /usr/share/X11/locale/zh_CN.UTF-8/
cp XLC_LOCALE ~/XLC_LOCALE.bak
使用编辑器修改/usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE,删除(或注释)含有GBK和GB2312的行,保存即可。
防火墙设置
wine的client和server之间是用传统client的通信方式。而iptables好像没有打开本机程序的通信通道。执行下面的命令即可解决问题。
sudo iptables -I INPUT -s 127.0.0.1 -j ACCEPT
在VM中的archlinux中使用jlink有两种方法一种是openocd一种是jlink官方。
openocd 在archlinux的package中就有,可以直接通过 sudo pacman -S openocd 来一键安装,省时省力。
使用官方的jlink,首先下载 中的linux 版本,然后解压,我吧解压后的文件移动到了 /usr/local/debug/jlink/jlink-v450i 在/usr/lib中添加软链接 ln -s /usr/local/debug/jlink/jlink-v450i/libjlinkarm.so.4.50.9 /usr/lib/libjlinkarm.so.4.50.9 ln -s /usr/local/debug/jlink/jlink-v450i/libjlinkarm.so.4.50.9 /usr/lib/libjlinkarm.so.4 ln -s /usr/lib/libreadline.so.6.2 /usr/lib/libreadline.so.5
在/etc/udev/rules.d/中添加软链接 ln -s /usr/local/debug/jlink/jlink-v450i/45-jlink.rules /etc/udev/rules.d/45-jlink.rules
修改start的属性和内容 sudo chmod a+x start sudo vim start ./start 修改为 /usr/local/debug/jlink/jlink-v450i/start
然后reboot一下就可以了,插上jlink,打开vmware,给目标板接电,然后WIN7 会自动安装一个VMware usb 的设备驱动,这个设备驱动一安装好就一切OK了。
因为archlinux的GCC 版本比较高,所以不兼容低版本的busybox的Makefile,所以要修改Makefile
找到出错的行,行数可能不一样,以报错的行数为准。
Makefile 421行 config %config: scripts_basic outputmakefile FORCE
%config: scripts_basic outputmakefile FORCE
将1288行代码: / %/: prepare scripts FORCE(错)
改为: %/: prepare scripts FORCE(对)
在archlinux中,使用kmod 替换了 module-init-tools,所以造成了安装 目标板对应的 nfs中的模块提示出错,解决方法是:先安装module-init-tools, 再修改linux 源代码目录下面的Makefile。
安装 module-init-tools: 先安装docbook2x: sudo pacman -S docbook2x 然后下载module-init-tools-3.2.2,我这边3.12版本的make check 都不能通过,所以只好用3.2.2的 如果有补丁 patch -Np1 -i ../../src/module-init-tools-3.2.2-modprobe-1.patch
编译 ./configure make check make distclean ./configure --prefix=/ --enable-zlib make
安装 make INSTALL=install DESTDIR=/usr/local/module-init-tools install
下面是修改linux源代码目录的makefile 找到 DEPMOD 定义的那一行,把/sbin/depmod, 修改为/usr/local/module-init-tools/depmod 就可以安装目标系统模块了