Moto Linux应用开发(四):A1200官方SDK
今天终于拿到moto官方SDK,是for A1200的,包括toolchian和EZX库及头文件,该SDK也适用于moto E6. 按照安装指导文档安装好SDK并执行脚本设置好环境变量后,首先是build一个最简单的sample程序hello,以验证SDK是否安装正确。运行qmake却出现如下错误:
~/workspace/devtools/moto-sdk/sample/gui/hello$ qmake hello.pro
qmake: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
使用ldd命令查看sdk所带的qmake所依赖的动态库:
~/workspace/devtools/moto-sdk/qt-2.3.6/bin$ ldd qmake
linux-gate.so.1 => (0xb7f0a000)
libstdc++-libc6.2-2.so.3 => not found
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7ed1000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d6d000)
/lib/ld-linux.so.2 (0xb7f0b000)
可以看到qmake依赖的动态库libstdc++-libc6.2-2.so.3,上网搜索了一下,了解到这个库是老版本的gcc库文件,ubuntu下的解决方法是上http://packages.ubuntu.com上下载并安装libstdc++2.10-glibc2.2_2.95.4-24_i386.deb包,此时qmake可以生成Makefile,但是make时又出现如下错误:
~/workspace/devtools/moto-sdk/sample/gui/hello$ make
arm-linux-g++ -DQT_QWS_IPAQ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I. -I/home/chenzhengyong/workspace/devtools/moto-sdk/ezx/include -I/home/chenzhengyong/workspace/devtools/moto-sdk/ezx/include/gui -I/home/chenzhengyong/workspace/devtools/moto-sdk/qt-2.3.6/include -I/home/chenzhengyong/workspace/devtools/moto-sdk/qt-2.3.6/mkspecs/qws/linux-ipaq-g++ -o MyWidget.o MyWidget.cpp
arm-linux-g++ -DQT_QWS_IPAQ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I. -I/home/chenzhengyong/workspace/devtools/moto-sdk/ezx/include -I/home/chenzhengyong/workspace/devtools/moto-sdk/ezx/include/gui -I/home/chenzhengyong/workspace/devtools/moto-sdk/qt-2.3.6/include -I/home/chenzhengyong/workspace/devtools/moto-sdk/qt-2.3.6/mkspecs/qws/linux-ipaq-g++ -o main.o main.cpp
/home/chenzhengyong/workspace/dev
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
近日在centos下用c写东西,这个程序的服务端运行在64位的centos下,客户端有可能是32机,也有可能是64位的。
为了保证数据传输的一致性制定了一套协议,用struct实现。为了保证输出过程中,数据的完整性,特别针对系统的不同对struct里变量的类型进行了优化。为了保证内存对齐方式的一致和数据存储空间的紧凑,都用 #pragm ......
折腾了一番通过几种USB上网卡在Linux下上WCDMA,在此记录一下:
通用配置文件:
/etc/ppp/peers/wcdma :
/dev/ttyACM0
460800
connect '/etc/ppp/chat-wcdma'
noauth
usepeerdns
noipdefault
defaultroute
----
注意,其中的/dev/ttyACM0 是串口设备,后面描述。
/etc/ppp/chat-wcdma
#!/bin/sh
#
# This is ......
在linux下查看进程大家都会想到用 ps -ef|grep XXX
可是看到的不是全路径,怎么看全路径呢?
每个进程启动之后在 /proc下面有一个于pid对应的路径
例如:ps -ef|grep python
显示:oracle 4431 4366 0 18:56 pts/2 00:00:00 python Server.py
4431就是进程号
到/pro ......
一个人勃一次不难,难的是勃一辈子……
最近分心的事很多,勃得越来越少了!
打开mmu是一件神圣的工作,需要仔细、再仔细……
从__v7_setup函数返回来,进入到__enable_mmu过程,做起飞前的最后确认:
__enable_mmu:
#ifdef CONFIG_ALIGNMENT_TRAP
orr r0, r0, #CR_A
#else
bic r0, r0, ......