分类 Linux 下的文章

在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

required by wps-office (argument)

=app-office/wps-office-9.1.0.4032_alpha10 ~x86

vim /etc/portage/package.use

wps-office

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

参考:http://joke.li/blog/archives/284

在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 就可以安装目标系统模块了