嵌入式软件开发问题及其解决办法记录
来源:互联网 发布:网络公司网站源码 编辑:程序博客网 时间:2024/04/29 17:20
from: http://blog.chinaunix.net/uid-20746260-id-3184309.html
1. 无法卸载动态加载的模块
如图所示情况:
在lib/modules目录下创建3.2.8-JasonARM目录即可卸载。
2. 帧缓冲驱动已移植成功后,为了启动QT,配置了Networking support与Gernel Setup下的内核选项,因界面中用了socket及信号量,具体配置参考友善之臂,不详细列出。
3. 修改启动后终端中主机名
可以再/etc/init.d/rcS文件中,添加如下代码:
点击(此处)折叠或打开
- /bin/hostname JasonARM
点击(此处)折叠或打开
- [root@JasonARM /]#
4. 编译小技巧
使用verbose模式,将每一步执行的命令都打印出来,并重新定向到一个文件中去这样以后方便查找模块之间的依赖关系。
# make V=1 > ~/bat.txt
执行make htmldocs/pdfdocs/psdocs之后,在Documentation/DocBook/目录下,会生成一些很重要的文档:
A.kernel-api:内核开发的API手册;
B.kernel-locking:内核加锁的HOWTO文档;
C.kernel-hacking:内核开发的一些注意事项;
D.usb:USB Host端的API手册;
E.gadget:USB Device端的API手册.
5. 64位Ubuntu运行32位arm-linux-gcc
需要安装 ia32-libs
apt-get install ia32-libs
6. 官方ndk与android系统自带ndk在编译浮点运算程序时运算时间的差距
使用谷歌官方提供的ndk(android-ndk-r9-linux-x86.tar.bz2)编译带浮点运算的c代码,运算时间长,而使用Android-4.0.1中的ndk编译,运算时间大大缩短,从9.7秒左右到1.3秒左右!(这里的时间为直接编译成C代码在手机上执行,下面的时间为打包成apk时计算时间)
解决办法:在应用程序的JNI目录下添加Application.mk,如下。
点击(此处)折叠或打开
- # Build both ARMv5TE and ARMv7-A machine code.
- NDK_TOOLCHAIN_VERSION := 4.4.3
- APP_ABI := armeabi-v7a #armeabi
- APP_MODULES :=libXXX
- APP_OPTIM := release
- OPT_CFLAGS := -O2 -fno-exceptions -fno-rtti -fno-bounds-check -funroll-loops -funswitch-loops -fvisibility=hidden \
- -finline-functions -funsafe-loop-optimizations -march=armv7 \
- -mfloat-abi=softfp -mfpu=neon
-
- OPT_CPPFLAGS := $(OPT_CLFAGS)
-
- APP_CFLAGS := $(APP_CFLAGS) $(OPT_CFLAGS)
- APP_CPPFLAGS := $(APP_CPPFLAGS) $(OPT_CPPFLAGS)
7. Ubuntu12.04设置root自动登录
>> sudo passwd root //根据提示,设置root密码
>> gedit /etc/lightdm/lightdm.conf &
修改autologin-user=leon为
autologin-user=root //按装操作系统时,已设置自动登录,其余无需配置
>> reboot //自动为root用户
8. VirtualBox共享文件夹设置
按装VirtualBox增强功能:设备->安装增强功能
a. 关闭Ubuntu,VirtualBox->设置->数据空间->固定分配:添加共享文件夹路径与共享名。(注意,千万别选中自动挂载,否则反而不能自动挂载。)
b. 启动Ubuntu,新建文件夹“mkdir /mnt/share”,挂载“mount -t vboxsf Linux_Win7_Share /mnt/share/”。
c. 开机自动挂载,/etc/fstab中添加一行,保存
“Linux_Win7_Share /mnt/share vboxsf defaults 0 0”
9. *** glibc detected *** ./DownSample: munmap_chunk(): invalid pointer: 0xb75a4608 ***
malloc分配的指针被修改以后,再传给free,导致了munmap错误。
10. 中文文本乱码
复制以下命令到终端中,然后回车即可:
点击(此处)折叠或打开
- gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8','GB18030','GB2312','GBK','BIG5','CURRENT','UTF-16']"
11. 使用KVM加速Android Emulator启动速度
详细见文章:《Ubuntu上使用Android SDK的一些注意点》
12. 使用adb push命令返回Read-only file system解决方法
四个命令解决:
# adb shell
# mount -o remount rw /
# exit
# adb remount
13. 使用deb包更新无网络的Ubuntu机器
有时候我们的Ubuntu机器因为某种原因不能连网,我们可以通过在可以上网的Ubuntu机器上下载deb包,然后拷贝到不能连网的Ubuntu机器上的响应目录进行安装。
在能连网的机器上:
# rm /var/cache/apt/archives/* -rf
# apt-get install ***
因为apt-get install的命令会缓存在“/var/cache/apt/archives/”目录,所以先清除原有的文件,以免混在一起。
在不能连网络的机器上,拷贝deb包到“/var/cache/apt/archives/”目录,然后
# apt-get install ***
即可。
14. 64位Ubuntu12.04系统编译Android4.0.3系统提示“cannot find -lncurses”
安装32位的库:apt-get install libncurses5-dev:i386
15. SecureCRT中文乱码
a. 修改环境变量LANG
我的是Lubuntu系统,在/etc/init.d/rc中添加一行:
export LANG=zh_CN.UTF8
b. 设置SecureCRT
“Option”->“Session Option”->“Appearance”:
右边“Character”下拉菜单里选择“UTF-8”;
点击“Font...”,弹出菜单里“字体”选择“新宋体”;
0 0
- 嵌入式软件开发问题及其解决办法记录
- 软件开发问题的症状及其根本原因
- 嵌入式软件开发流程
- 嵌入式软件开发测试
- 嵌入式软件开发流程
- 嵌入式软件开发流程
- 《专业嵌入式软件开发》
- 嵌入式软件开发笔试
- 嵌入式Linux软件开发
- 嵌入式软件开发书籍
- 关于嵌入式软件开发
- 嵌入式软件开发一
- 嵌入式开发常用工具软件
- 什么是嵌入式软件开发?
- 嵌入式软件开发--QT--
- 嵌入式软件开发相关
- 嵌入式软件开发工具
- VC和matlab混合开发遇到的问题及其解决办法
- ipcs查看消息队列命令
- kerberos
- [Wikioi 1031]质数环---HBNU的童鞋过来看看
- javascript中实现Sleep函数的功能
- 配置Apache将自己的电脑做服务器使局域网内的电脑访问自己的主机
- 嵌入式软件开发问题及其解决办法记录
- do...while(0)的妙用
- PHP开发API 应用程序接口
- 细细品味Hadoop_Hadoop集群精华文档合集
- HDU 4322 Candy
- 设备树使用手册
- 戒淫──守身之要
- 关于base64编码的原理及实现
- oralce中 scott用户的表结构