❶ 為什麼tiny4412在用sd卡燒寫android時,串口終端沒有顯示進度
1. Build uboot
a) 安裝好toolchain (arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz)並設置好
環境變數PATH,保證可以正常使用。
b) 解壓 uboot_tiny4412-20130729.tgz 並進入相應的目錄
tar xzf uboot_tiny4412-20130729.tgz
c) 配置 uboot 並編譯
cd uboot_tiny4412
make tiny4412_config
make
d) 編譯 用於生成bl2 的工具
make -C sd_fuse
或者
cd sd_fuse; make
-----------------------------------------------------
2. 製作啟動 Tiny4412 的SD卡
a) 先准備一張4G或以上的SDHC卡
注意:該卡的已有數據將會被破壞,因此請先對SD卡上的數據進行備份。
b) fusing SD card
假設SD卡已被PC Linux識別為/dev/sdb, 以root用戶運行以下命令即可:
cd sd_fuse/tiny4412
./sd_fusing.sh /dev/sdb
-----------------------------------------------------
3. 使用SD卡啟動 Tiny4412 並燒寫Android
a) 將已經製作好的SD卡插到 Tiny4412 板上,撥動S2切換到SDBOOT,同時連接
串口線到PC且假設已經准備好。
b) 開發板加電,然後在串口控制台(如minicom),按任意鍵進入uboot 命令行模式
c) 對SD卡進行分區
輸入以下uboot命令即可對SD卡進行分區:
fdisk -c 0 320 806 518
重新分區後,可重新格式化FAT分區
fatformat mmc 0:1
d) 進入fastboot模式以燒寫Android
使用USB線連接Tiny4412的MICRO_USB口到PC,然後輸入以下uboot命令:
fastboot
e) 燒寫 Android 到SD卡
首先請准備好Android image,包括: zImage, ramdisk-u.img, system.img
在PC端輸入以下命令進行燒寫:
fastboot flash kernel zImage (燒寫kernel)
fastboot -w (格式化userdata和cache)
fastboot flash ramdisk ramdisk-u.img (燒寫ramdisk)
fastboot flash system system.img (燒寫system)
f) 也可以在PC端通過fastboot燒寫uboot到SD卡
先手動生成bl2.bin
cd sd_fuse/tiny4412
../mkbl2 ../../u-boot.bin bl2.bin 14336
然後輸入以下命令:
fastboot flash fwbl1 E4412_N.bl1.bin
fastboot flash bl2 bl2.bin
fastboot flash bootloader ../../u-boot.bin
fastboot flash tzsw E4412_tzsw.bin
-----------------------------------------------------
4. 使用SD卡啟動 Android
a) 如果是使用HD700,則燒寫完成後直接重啟Tiny4412 即可自動啟動 Android
b) 如果是使用S700,則需要在uboot上設置kernel命令行參數:
setenv bootargs console=ttySAC0,115200n8 androidboot.console=ttySAC0 lcd=S700
saveenv
然後重啟Tiny4412即可。
❷ android串口消息
android串口消息連接的方法為:
1.模擬器可以使用PC的串口。
啟動模擬器並載入PC串口 命令如下。
運行 emulator @模擬器名稱 -qmu -serial COM1。
2.查看串口是否被載入。
啟動後使用 adb shell 命令打開命令行
cd dev 查看會發現ttyS0 ttyS1 ttyS2,其他ttyS2 就是我們載入上來的串口COM1
3.修改許可權
chmod 777 ttyS2
現在我們可以開發串口程序了。
4.串口程序實例
下載libserial_port.so ,放入libs/armeabi 目錄,可以自己創建此目錄
libserial_port.so 下載地址:
http://code.google.com/p/android-serialport-api/
import java.io.File;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.util.Log;
public class SerialPort {
private static final String TAG = "SerialPort";
private FileDescriptor mFd;
private FileInputStream mFileInputStream;
private FileOutputStream mFileOutputStream;
public SerialPort(File device, int baudrate) throws SecurityException, IOException {
if (!device.canRead() || !device.canWrite()) {
try {
Process su;
su = Runtime.getRuntime().exec("/system/bin/su");
String cmd = "chmod 666 " + device.getAbsolutePath() + "n"
+ "exitn";
su.getOutputStream().write(cmd.getBytes());
if ((su.waitFor() != 0) || !device.canRead()
|| !device.canWrite()) {
throw new SecurityException();
}
} catch (Exception e) {
e.printStackTrace();
throw new SecurityException();
}
}
mFd = open(device.getAbsolutePath(), baudrate);
if (mFd == null) {
Log.e(TAG, "native open returns null");
throw new IOException();
}
mFileInputStream = new FileInputStream(mFd);
mFileOutputStream = new FileOutputStream(mFd);
}
public InputStream getInputStream() {
return mFileInputStream;
}
public OutputStream getOutputStream() {
return mFileOutputStream;
}
//JNI
private native static FileDescriptor open(String path, int baudrate);
public native void close();
static {
System.loadLibrary("serial_port");
}
}
####################################
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class PrintClass {
//輸入流
private static InputStream in;
//輸出流
private static OutputStream out;
private static final String PORT = "/dev/ttyS2";//串口
private SerialPort serialPort;
private void Connect()
{
try {
serialPort = new SerialPort(new File(PORT), 38400);
in = serialPort.getInputStream();
out = serialPort.getOutputStream();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void CloseSerialPort()
{
try {
out.close();
in.close();
serialPort.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
❸ android開啟usb轉串口如何配置kernel
1. 如果是linux,不需要單獨安裝什麼串口驅動 2. 但需要使用ls /dev/tty * 查看usb 串口設備是否被檢測到 2. 然後使用linux下的MINICOM進行串口信息列印,具體配置和用法可以一下
❹ 通過minicom怎麼運行android設備上的monkey測試工具
連好minicom之後,minicom應該會進入device的shell,在那下面直接用monkey命令就可以的。如果需要保存logcat的話,打個logcat就可以了。
❺ 怎麼查看android 設備的串口
1. 如果是linux,不需要單獨安裝什麼串口驅動
2. 但需要使用ls /dev/tty * 查看usb 串口設備是否被檢測到
2. 然後使用linux下的MINICOM進行串口信息列印,具體配置和用法可以一下
❻ 求串口調試軟體,可以用手機或平板連串口線配置交換機、路由器、UPS等,linux有MINICOM,
串口?手機或者平板應該是沒這個功能了吧?
而且貌似也沒有那個平板或者手機能支持 USB 轉串口的硬體。
只能是試試買個支持 USB Host 的平板,之後自己嘗試裝上 ubuntu 一類的通用系統的 arm 版,再自己編譯內核打開 USB 串口轉換器的驅動。從而實現支持。