1、我编译了Gingerbread的代码,make及make sdk ,生成了自己的模拟器。模拟器可以正常运行。模拟器运行时使用 /dev/socket/qemud 模拟GSM模块。
2、我的开发环境是ubuntu,我在PC的串口上安装了一个GSM模块。使用minicom可以正常的操作这个GSM模块。minicom的设置为:    | A -    Serial Device      : /dev/ttyS0    | E -    Bps/Par/Bits       : 9600 8N1 。我希望在模拟器中直接使用PC串口上的GSM模块。我现在的问题是:1、我是用了./emulator -avd t_xxxxxx  -qemu -serial /dev/ttyS0 以及 -radio /dev/ttyS0 等参数启动模拟器,没有作用。
2、我修该了 init.rc 中启动rild时的参数,使其使用 /dev/ttyS0,添加了/dev/ttyS0的读写权限, 也没有用。
3、下载了google提供的SerialPort_0.7.apk。对串口也无法操作。
我需要在模拟器中直接使用PC串口上的GSM模块(一个设备),望指点迷津。

解决方案 »

  1.   

    原因还在找。
    我做的是串口上支持AT指令的那个设备,需要调试响应AT指令的功能,能在模拟器上调试,会方便很多。
      

  2.   

    要在PC上启动一个minicom,模拟器中的程序才能操作PC(ubuntu)上的串口,minicom的作用好像是把PC上的/dev/ttyS0设置了一下。但是返回值会被minicom截获一部分,模拟器上的程序运行总是不正常。在模拟器中的程序怎么设置PC上的串口呀?
      

  3.   

    问题解决了。在android 的模拟器里打开串口时使用的速率是115200,改成9600就好了。
    ./qemu-char-android.c 中 
    tty_serial_init(fd, 115200, 'N', 8, 1); 改为
    tty_serial_init(fd, 9600, 'N', 8, 1);
      

  4.   

    用./emulator -avd t_xxxxxx -qemu -serial /dev/ttyS0 以及 -radio /dev/ttyS0 等参数启动模拟器,是怎么启动的啊,同时把这两条命令都输入进去吗?./emulator -avd t_xxxxxx -qemu -serial /dev/ttyS0 -radio /dev/ttyS0; 这样会出错呀,如果分开输入也不对呀,你是怎么把串口和radio同事重定向的啊?