工作備忘

setenv bootcmd_android_recovery 'run bootargs_base bootargs_android_recovery;mmc read 0 ${loadaddr} 0x7AA00 0x2000;bootm'


fastboot燒寫
首先進入uboot命令行
setenv fastboot_dev mmc0 
fas
然後在dos
按照需要燒寫:
fastboot flash bootloader \\192.168.40.243\work\imx_r10.2_myandroid\bootable\bootloader\uboot-imx\u-boot-no-padding.bin
fastboot flash bootloader \\192.168.40.243\work\lhyz\myandroid-r94-ok\bootable\bootloader\uboot-imx\u-boot-no-padding.bin
fastboot flash bootloader \\192.168.40.243\work\lhyz\myandroid-r9.2.1\bootable\bootloader\uboot-imx\u-boot-no-padding.bin
fastboot flash recovery \\192.168.40.243\work\lhyz\myandroid-r9.2.1\out\target\product\imx51_bbg\recovery.img




fastboot flash kernel \\192.168.40.243\work\lhyz\myandroid-r9.2.1\kernel_imx\arch\arm\boot\uImage
fastboot flash system \\192.168.40.243\work\lhyz\myandroid-r9.2.1\out\target\product\imx51_bbg\system.img
fastboot flash uramdisk \\192.168.40.243\work\lhyz\myandroid-r9.2.1\out\target\product\imx51_bbg\uramdisk.img
fastboot flash userdata \\192.168.40.243\work\lhyz\myandroid-r9.2.1\out\target\product\imx51_bbg\userdata.img
fastboot flash kernel \\192.168.0.243\work\lhyz\myandroid-r94-ok\kernel_imx\arch\arm\boot\uImage
fastboot flash system \\192.168.0.243\work\lhyz\myandroid-r94-ok\out\target\product\imx51_bbg\system.img
fastboot flash uramdisk \\192.168.0.243\work\lhyz\myandroid-r94-ok\out\target\product\imx51_bbg\uramdisk.img


fastboot flash kernel \\192.168.40.243\work\lhyz\kernel_imx_r92\arch\arm\boot\uImage
fastboot flash kernel \\192.168.40.243\work\lhyz\kernel_imx_t3\arch\arm\boot\uImage
fastboot flash kernel \\192.168.40.243\work\lhyz\kernel_imx_1064\arch\arm\boot\uImage
fastboot flash uramdisk \\192.168.40.243\work\lhyz\myandroid-r94-ok\out\target\product\imx51_bbg\uramdisk.img
fastboot flash uramdisk \\192.168.0.100\share\903\image\t3\uramdisk.img
fastboot flash system \\192.168.0.100\share\903\image\t3\system.img
fastboot flash system \\192.168.0.100\share\903\image\wei\0827\system.img
fastboot flash uramdisk \\192.168.0.100\share\903\image\wei\0827\uramdisk.img
fastboot flash uramdisk \\192.168.0.100\share\903\image\SD_sfdisk\uramdisk.img
fastboot flash userdata \\192.168.40.243\work\lhyz\t3_image\userdata.img
燒完後重啓
fastboot reboot




fastboot flash bootloader Y:\fsl\myandroid_r9.2.1\bootable\bootloader\uboot-imx\u-boot-no-padding.bin


分區內核,要先燒這個u-boot-no-padding.bin
fastboot flash bootloader D:\hui\lhyz\project\903\tools\SD_sfdisk\u-boot-no-padding.bin
fastboot flash kernel D:\hui\lhyz\project\903\tools\SD_sfdisk\uImage
fastboot flash uramdisk D:\hui\lhyz\project\903\tools\SD_sfdisk\uramdisk.img


燒廣告機固件
fastboot flash kernel Y:\fsl\myandroid_r9.2.1\kernel_imx\arch\arm\boot\uImage
fastboot flash uramdisk Y:\fsl\myandroid_r9.2.1\out\target\product\imx51_bbg\uramdisk.img
fastboot flash system Y:\fsl\myandroid_r9.2.1\out\target\product\imx51_bbg\system.img
fastboot reboot




setenv bootargs_android 'console=ttymxc0 video=mxcdi0fb:RGB24,720P60 video=mxcdi1fb:RGB565,1024x768M@55 di1_primary gpu_memory=32M ip=off root=/dev/nfs init=/init nfsroot=192.168.0.10:/nfs/rootfs ip=192.168.0.100::::usb0 androidboot.console=ttymxc0 '




git 常用命令
./repo init -u git://192.168.1.25/platform/manifest.git -b r10.2_t4 //初始化
repo init -u ssh://[email protected]/git_repo/manifest.git
git reset --hard ORIG_HEAD //回退到原始版本
git pull          //從服務器更新代碼到本地


一、打tag的命令是先hard reset到自己模塊(包含自己和組員)最後一次提交的位置,然後git tag tagname。Tagname的取法要統一,小項目名+完成階段+日期。比如bsp完成了第二階段的目標(7月6號的階段目標),就可以命令tag爲bsp-phase2-20110630
如果碰到沒有全部完成,但是需要進release測試的,就把tag冠名ongoing, 如bsp-ongoing-20110630
如果碰到完成了某個bugfix,就 把BUG Number包含進去,如bsp-PRxxx-20110630 (PR指ProblemResolve,xxx指bug在JIRA系統裏的編號)


二、上傳tag的命令是git push review --tags
一、tag的命名加一個“工程名”的字段即 “工程名-小項目名-完成階段-日期”;這樣曾良均做整合版本的時候就知道android下有哪些工程有了需要包含的修改;


二、打tag可以指定位置,命令格式爲git tag tagname commit,如git tag kernel_imx-pwrsave-phase2-20110631 cd8c0beb9ecec5e68c0535a416aea972d5f67251


三、上傳某個特定tag的命令是git push review tagname.這樣可以避免把本地自己命名的tag誤傳到服務器。




#uboot讀取seltest uramdisk改成3M
setenv bootcmd_selftest 'mmc read 1 ${loadaddr} 0x3800 0x2000;mmc read 1 ${rd_loadaddr} 0x5800 0x2000;'


setenv bootargs 'console=ttymxc0 init=/linuxrc androidboot.console=ttymxc0 video=mxcdi0fb:RGB666,XGA ldb=di0 di0_primary ip=off gpu_nommu,gpu_memory=64M'


#寫亂mmc uboot參數區,可清除所有變量,用默認設置
mmc write 0 91000000 600 10


sf probe 0:1
sf erase d0000 1000




#SD卡啓動Android時,默認講system掛載爲只讀,把system掛載爲可讀可寫模式,在kernel串口命令行下打入如下命令:
mount -o remount -rw /dev/block/mmcblk1p2 /system
mount -o remount -rw /dev/block/mmcblk0p2 /system
mount -o remount -rw /dev/block/nandd /system
mount -o remount -rw emmc@android /system




git review服務器:192.168.1.25
git發郵件腳本: /home/git/repositories/android/platform/bionic.git/hooks/post-receive


mx51 903 uboot參數:


setenv bootcmd 'run bootcmd_SD1 bootcmd_SD2'




setenv bootcmd_SD1 'run bootargs_base bootargs_android'




setenv bootcmd_SD2 'mmc read 0 ${loadaddr} 0x800 0x1800;mmc read 0 ${rd_loadaddr} 0x3000 0x2600;bootm ${loadaddr} ${rd_loadaddr}'




setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'




setenv bootargs_android 'setenv bootargs ${bootargs} init=/init androidboot.console=ttymxc0 video=mxcdi0fb:RGB24,XGA video=mxcdi1fb:RGB565,1024x768M@60 di1_primary gpu_memory=32M calibration'




setenv loadaddr '0x90800000'




setenv rd_loadaddr '0x90C00000'




setenv netdev 'eth0'




setenv ethprime 'FEC0'




setenv uboot_addr '0xa0000000'




setenv uboot 'u-boot.bin'




setenv kernel 'uImage'




setenv rd_loadaddr '0x90C00000'




setenv nfsroot '/opt/eldk/arm'




setenv bootargs_base 'setenv bootargs console=ttymxc0,115200 gpu_memory=16M'




setenv bootargs_nfs 'setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp'




setenv bootcmd_net 'run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm'




setenv prg_uboot 'tftpboot ${loadaddr} ${uboot}; protect off ${uboot_addr} 0xa003ffff; erase ${uboot_addr} 0xa003ffff; cp.b ${loadaddr} ${uboot_addr} ${filesize};'




setenv bootcmd 'run bootcmd_SD' 




setenv bootcmd_SD 'run bootargs_base bootargs_android;mmc read 0 ${loadaddr} 0x800 2000;mmc read 0 ${rd_loadaddr} 0x3000 0x258;bootm ${loadaddr}'




setenv bootcmd_android_recovery 'run bootargs_base bootargs_android_recovery;mmc read 0 ${loadaddr} 0x800 0x2000;bootm'




setenv bootargs_android_recovery 'setenv bootargs ${bootargs} init=/init root=/dev/mmcblk0p4 rootfs=ext4 video=mxcdi0fb:RGB24,XGA video=mxcdi1fb:RGB565,1024x768M@60 di1_primary gpu_memory=32M'




setenv stdin 'serial'




setenv stdout 'serial'




setenv stderr 'serial'




setenv ethact 'FEC0'


1001廣告機:
setenv bootcmd_SD2 'mmc read 0 ${loadaddr} 0x800 0x1800;mmc read 0 ${rd_loadaddr} 0x3000 0x3000;bootm ${loadaddr} ${rd_loadaddr}'




mx51 uboot參數: 


setenv bootdelay '1'


setenv loadaddr '0x90800000'


setenv rd_loadaddr '0x90B00000'


setenv crc_mode '0'


setenv kernel_mode ''


setenv ubootversion 'uboot_version=05/04/11'


setenv bootcmd 'run bootcmd_nand'


setenv nand_read_kernel 'nand read ${loadaddr} 0x0 0x500000'


setenv nand_read_rd 'nand read ${rd_loadaddr} 0x500000  0x200000'


setenv bootcmd_nand 'run bootargs_base bootargs_android bootargs_nand; run nand_read_kernel; run nand_read_rd; bootm ${loadaddr} ${rd_loadaddr}'


setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'


setenv bootargs_nand 'setenv bootargs ${bootargs} ubi.mtd=4'


setenv bootargs_android 'setenv bootargs ${bootargs} init=/init androidboot.console=ttymxc0 ${ubootversion} ${kernel_mode} video=mxcdi0fb:RGB24,800x600M@60 video=mxcdi1fb:YUV444,720P60 tve di1_primary'


setenv netdev 'eth0'


setenv ethprime 'FEC0'


setenv uboot_addr '0xa0000000'


setenv uboot 'u-boot.bin'


setenv kernel 'uImage'


setenv nfsroot '/opt/eldk/arm'


setenv bootargs_nfs 'setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp'


setenv bootcmd_net1 'run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm '


setenv bootcmd_net '${bootcmd_net1} mmcinit;cp.b 0x100000 ${loadaddr} 0x250000; cp.b 0x400000 ${rd_loadaddr} 0x4B000; bootm ${loadaddr} ${rd_loadaddr}'


setenv prg_uboot1 'tftpboot ${loadaddr} ${uboot}; protect off ${uboot_addr} 0xa003ffff; '


setenv prg_uboot '${prg_uboot1} erase ${uboot_addr} 0xa003ffff; cp.b ${loadaddr} ${uboot_addr} ${filesize}; bootargs=console=ttymxc0,115200 ip=dhcp mem=480M init=/init wvga calibration'


setenv bootcmd_SD1 'run bootargs_base bootargs_android bootargs_SD'


setenv bootcmd_SD2 'mmc read 0 ${loadaddr} 0x800 0x1800;mmc read 0 ${rd_loadaddr} 0x2000 0x1000;bootm ${loadaddr} ${rd_loadaddr}'


setenv bootargs_SD 'setenv bootargs ${bootargs}'


setenv mtdparts 'mtdparts=nand0:0x500000@0x0(KERNEL),0x200000@0x500000(RAMDISK),0x100000@0x700000(MISC),0x1400000@0x800000(RECOVERY),-@0x1c00000(ROOT)'


setenv mtdids 'nand0=nand0'


setenv partition 'nand0,4'


setenv mtddevnum '4'


setenv mtddevname 'ROOT'


setenv ethact 'FEC0'


saveenv


 




mx51 R10.1 SD卡啓動 uboot參數:


setenv loadaddr '0x90800000'


setenv rd_loadaddr '0x90D00000'


setenv bootargs 'console=ttymxc0,115200'


setenv bootargs_android 'init=/init root=/dev/mmcblk0p2 rootfstype=ext4 console=ttymxc0,115200 gpu_memory=16M androidboot.console=ttymxc0 video=mxcdi0fb:800x600M@60 ${ubootversion} ${kernel_mode} di1_primary'


setenv bootargs_base 'init=/init root=/dev/mmcblk0p2 rootfstype=ext4 console=ttymxc0,115200 gpu_memory=16M androidboot.console=ttymxc0 video=mxcdi0fb:800x600M@60 ${ubootversion} ${kernel_mode} di1_primary`


setenv bootcmd_SD1 'mmc read 0 ${loadaddr} 0x800 0x2000'


setenv bootcmd_SD2 'mmc read 0 ${rd_loadaddr} 0x3000 0x300;bootm ${loadaddr} ${rd_loadaddr}'


setenv bootcmd 'run bootcmd_SD1 bootcmd_SD2'


saveenv




mx53 uboot參數:
setenv baudrate '115200'
setenv loadaddr '0x70800000'
setenv netdev 'eth0'
setenv ethprime 'FEC0'
setenv uboot 'u-boot.bin'
setenv kernel 'uImage'
setenv loadaddr '0x70800000'
setenv rd_loadaddr '0x70D00000'
setenv nfsroot '/opt/eldk/arm'
setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
setenv bootargs_nfs 'setenv bootargs ${bootargs} root=/dev/nfs init=/init nfsroot=192.168.0.10:/nfs/rootfs ip=192.168.0.100::::usb0 console=ttymxc0,115200 console=tty0,v3,tcp'
setenv bootargs_android 'setenv bootargs ${bootargs} androidboot.console=ttymxc0 init=/init di1_primary video=mxcdi1fb:RGB666,XGA hdmi ldb=di1 gpu_memory=32M'
setenv bootcmd 'run bootcmd_SD; bootm ${loadaddr} ${rd_loadaddr}' 
setenv bootcmd_eMMC 'run bootargs_base bootargs_android;mmc read 1 ${loadaddr} 0x800 2000;mmc read 1 ${rd_loadaddr} 0x3000 0x258;bootm ${loadaddr} ${rd_loadaddr}'
setenv bootcmd_net 'run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm'
setenv bootcmd_android_recovery 'run bootargs_base bootargs_android_recovery;mmc read 0 ${loadaddr} 0x800 0x2000;bootm
bootargs_android_recovery=setenv bootargs ${bootargs} init=/init root=/dev/mmcblk0p4 rootfs=ext4'
setenv bootargs 'console=ttymxc0 init=/init androidboot.console=ttymxc0 video=mxcdi0fb:RGB666,XGA ldb=di0 di0_primary ip=off gpu_nommu,gpu_memory=64M'
setenv ethact 'FEC0'
setenv bootcmd_SD 'mmc read 0 ${loadaddr} 0x800 0x2000; mmc read 0 ${rd_loadaddr} 0x3000 0x1000;'
setenv stdin 'serial'
setenv stdout 'serial'
setenv stderr 'serial'


saveenv


NFS啓動:
setenv bootcmd 'run bootcmd_eMMC; bootm ${loadaddr} ${rd_loadaddr}'
setenv bootargs_base 'setenv bootargs ${bootargs} root=/dev/nfs init=/init nfsroot=192.168.0.10:/nfs/rootfs ip=192.168.0.100::::usb0'
setenv bootargs 'console=ttymxc0 video=mxcdi0fb:RGB666,vga ldb=di0 di0_primary ip=off gpu_nommu,gpu_memory=64M root=/dev/nfs init=/init nfsroot=192.168.0.10:/nfs/rootfs ip=192.168.0.100::::usb0 androidboot.console=ttymxc0 '
setenv bootargs 'console=ttymxc0 di1_primary video=mxcdi1fb:RGB666,VGA-SVGA ldb=di1 gpu_memory=32M ip=off root=/dev/nfs init=/init nfsroot=192.168.0.10:/nfs/rootfs ip=192.168.0.100::::usb0 androidboot.console=ttymxc0 '
903 nfs:
setenv bootargs_nfs 'setenv bootargs ${bootargs} ip=off root=/dev/nfs init=/init nfsroot=192.168.0.10:/nfs/rootfs ip=192.168.0.100::::usb0,v3,tcp'




setenv bootargs_android 'setenv bootargs ${bootargs} ${bootargs_nfs} video=mxcdi0fb:RGB24,720P60 video=mxcdi1fb:RGB565,1024x768M@55 di1_primary gpu_memory=32M androidboot.console=ttymxc0 '


 
imx53_smd開發板uboot參數:
setenv ethaddr 00:04:9f:00:ea:d3
setenv fec_addr 00:04:9f:00:ea:d3
setenv loadaddr 0x70800000          
setenv rd_loadaddr 0x70D00000       
setenv bootcmd 'run bootcmd_SD; bootm ${loadaddr} ${rd_loadaddr}' 
setenv bootcmd_SD 'mmc read 0 ${loadaddr} 0x800 0x3000; mmc read 0 ${rd_loadaddr} 0x3000 0x300;'
setenv bootargs 'console=ttymxc0,115200 init=/init androidboot.console=ttymxc0 video=mxcdi1fb:RGB666,XGA ldb=di1 di1_primary ip=off gpu_memory=64M'
saveenv


setenv bootcmd_SD 'mmc read 0 ${loadaddr} 0x800 0x2000; mmc read 0 ${rd_loadaddr} 0x3000 0x1000;'


格式化SD卡
sudo mkfs.vfat /dev/sdb1
sudo mkfs.ext4 /dev/sdb2 -O ^extent -L system
sudo mkfs.ext4 /dev/sdb4 -O ^extent -L recovery
sudo mkfs.ext4 /dev/sdb5 -O ^extent -L data
sudo mkfs.ext4 /dev/sdb6 -O ^extent -L cache
複製系統文件到SD卡
sudo dd if=u-boot.bin of=/dev/sdb bs=1K skip=1 seek=1; sync
sudo dd if=uImage of=/dev/sdb bs=1M seek=1; sync
sudo dd if=SD/uramdisk.img of=/dev/sdb bs=1M seek=6; sync
sudo dd if=SD/system.img of=/dev/sdb2 bs=128k; sync


sudo dd if=/home/bill/work/mx53/r10.2_t4/kernel_imx/arch/arm/boot/uImage of=/dev/sdb bs=1M seek=1; sync
sudo dd if=/home/bill/work/mx53/r10.2_t4/out/target/product/imx53_smd/uramdisk.img of=/dev/sdb bs=1M seek=6; sync
sudo dd if=/home/bill/work/mx53/r10.2_t4/out/target/product/imx53_smd/recovery.img of=/dev/sdb4; sync
sudo dd if=/home/bill/work/mx53/r10.2_t4/out/target/product/imx53_smd/system.img of=/dev/sdb2 bs=128k; sync


 
使用 logcat程序來查看系統的日誌。 
Logcat的日誌輸出分類: 
Logcat             ?查看所有LOG 
logcat –b radio        ?查看系統radio模塊日誌 
logcat –s ZTEMT      ?查看ZTEMT分類日誌 
logcat –s ZTEMT-AT   ?查看ZTEMT-AT 分類日誌 


#創建視頻需要的節點
mknod /dev/null c 1 3
mknod /dev/console c 5 1
/bin/busybox mknod /dev/fb0 c 29 0
/bin/busybox mknod /dev/fb1 c 29 1
/bin/busybox mknod /dev/fb2 c 29 2
mknod /dev/video0 c 81 0
mknod /dev/video16 c 81 1


./mxc_v4l2_overlay.out -iw 800 -ih 480 -ow 800 -oh 480 -it 20 -il 140 -r 0 -fr 30 -fg -t 10
/unit_tests/mxc_v4l2_overlay.out -iw 800 -ih 480 -ow 720 -oh 480 -it 0 -il 0 -r 0 -fr 30 -fg -t 1200


rm /dev/tty
ln -s /dev/ttymxc0 /dev/tty
/data/t232


#初始化MCU
hffaa8001010a
hffaa8001010a
hffaa8101010a


#切換到DVD模式
hffaa8d01010a
hffaa8e00010a


hffaa8d05010a


#切換到ARM模式
hffaa8d0a010a
hffaa8e00010a


#調節功放音量
hffaa8b08180a


#藍牙電源
echo 1 > /sys/class/rfkill/rfkill0/state


#調試攝像頭
adb push \\192.168.40.248\work\zh\camera\rgb_4p\rgb_4p system/bin
chmod 777 /system/bin/rgb_4p
rgb_4p 320 240 16 0 0




\\192.168.40.248\work\zh\myandroid_R9\bootable\bootloader\uboot-imx-nand\u-boot.bin
\\192.168.40.248\work\zh\myandroid_R9\kernel_imx\arch\arm\boot\uImage
\\192.168.40.248\work\zh\myandroid_R9\out\target\product\imx51_bbg\android_root.img
\\192.168.40.248\work\zh\myandroid_R9\out\target\product\imx51_bbg\uramdisk.img


\\192.168.0.97\all\home\hui\myandroid_R9\trunk\kernel_imx\arch\arm\boot\uImage
\\192.168.0.97\all\home\hui\myandroid_R9\trunk\out\target\product\imx51_bbg\android_root.img


#用ATK工具燒寫文件到nand
00000000 uboot
00300000 uImage
00600000 uramdisk
00800000 android_recovery //注意,有分2k page和4k page,打包方法如下介紹
01C00000 android_root //注意,有分2k page和4k page,打包方法如下介紹


#刪除觸摸屏校準文件,開機重新校準
rm /data/system/calibration


打包成uboot可識別的內核:
mkimage -A arm -O linux -T kernel -C none -a 0x90008000 -e 0x90008000 -n "Android Linux Kernel" -d arch/arm/boot/Image arch/arm/boot/uImage_nozip


在Android下打包uboot可識別的uramdisk:
out/host/linux-x86/bin/mkbootfs out/target/product/imx51_bbg/root | out/host/linux-x86/bin/minigzip > out/target/product/imx51_bbg/ramdisk.img
bootable/bootloader/uboot-imx/tools/mkimage  -A arm -O linux -T ramdisk -C none -a 0x90308000 -n "Android Root Filesystem" -d out/target/product/imx51_bbg/ramdisk.img out/target/product/imx51_bbg/uramdisk.img
#mx53
out/host/linux-x86/bin/mkbootfs out/target/product/imx53_smd/rootfs | out/host/linux-x86/bin/minigzip > out/target/product/imx53_smd/ramdisk.img
bootable/bootloader/uboot-imx/tools/mkimage  -A arm -O linux -T ramdisk -C none -a 0x70308000 -n "Android Root Filesystem" -d out/target/product/imx53_smd/ramdisk.img out/target/product/imx53_smd/uramdisk.img


在Android下打包SD卡啓動的system.img:
【1】解壓SD卡格式的system.img到目錄abc,
mkdir abc
sudo mount system.img -o loop abc/
【2】把需要修改的內容複製到abc,如開機動畫bootanimation.zip
cp bootanimation.zip abc/media
【3】直接sudo umount abc/ 即可
或者
【3】把abc目錄打包回system.img
su進入超級用戶root模式


num_blocks=`du -sk out/target/product/imx51_bbg/system | tail -n1 | awk '{print $1;}'`; if [ $num_blocks -lt 20480 ]; then extra_blocks=3072; else extra_blocks=20480; fi ; if [ "" != "" ]; then num_blocks=; num_inodes=4096; else num_blocks=`expr $num_blocks + $extra_blocks` ; num_inodes=`find out/target/product/imx51_bbg/system | wc -l` ; num_inodes=`expr $num_inodes + 500`; fi; out/host/linux-x86/bin/genext2fs -a -d out/target/product/imx51_bbg/system -b $num_blocks -N $num_inodes -m 0 out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img;
tune2fs -L system out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img
tune2fs -j out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img
tune2fs -O uninit_bg,dir_index out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img
tune2fs -C 1 out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img
e2fsck -fyD out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img ; 
out/host/linux-x86/bin/acp -fpt out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img out/target/product/imx51_bbg/system.img




在Android下打包UBI文件系統android_root.img,android_recovery.img:
#2K page:
out/host/linux-x86/bin/mkfs.ubifs -d out/target/product/imx51_bbg/system -o out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img -m 2048 -e 129024 -c 2048 -x none
out/host/linux-x86/bin/acp -fpt out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img out/target/product/imx51_bbg/system.img
out/host/linux-x86/bin/mkfs.ubifs -d out/target/product/imx51_bbg/data -o out/target/product/imx51_bbg/userdata.img -m 2048 -e 129024 -c 2048 -x none
out/host/linux-x86/bin/ubinize -o out/target/product/imx51_bbg/android_root.img -m 2048 -p 128KiB -s 512 -O 512 out/target/product/imx51_bbg/ubinize.ini
out/host/linux-x86/bin/mkfs.ubifs -d out/target/product/imx51_bbg/recovery/root -o out/target/product/imx51_bbg/recovery.img -m 2048 -e 129024 -c 2048 -x none
out/host/linux-x86/bin/ubinize -o out/target/product/imx51_bbg/android_recovery.img -m 2048 -p 128KiB -s 512 -O 512 out/target/product/imx51_bbg/ubinize_reco.ini


#4K page:
out/host/linux-x86/bin/mkfs.ubifs -d out/target/product/imx51_bbg/system -o out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img -m 4096 -e 516096 -c 4096 -x none
out/host/linux-x86/bin/acp -fpt out/target/product/imx51_bbg/obj/PACKAGING/systemimage_unopt_intermediates/system.img out/target/product/imx51_bbg/system.img
out/host/linux-x86/bin/mkfs.ubifs -d out/target/product/imx51_bbg/data -o out/target/product/imx51_bbg/userdata.img -m 4096 -e 516096 -c 4096 -x none
out/host/linux-x86/bin/ubinize -o out/target/product/imx51_bbg/android_root.img -m 4096 -p 512KiB out/target/product/imx51_bbg/ubinize.ini
out/host/linux-x86/bin/mkfs.ubifs -d out/target/product/imx51_bbg/recovery/root -o out/target/product/imx51_bbg/recovery.img -m 4096 -e 516096 -c 40 -x none
out/host/linux-x86/bin/ubinize -o out/target/product/imx51_bbg/android_recovery.img -m 4096 -p 512KiB out/target/product/imx51_bbg/ubinize_reco.ini


編譯內核要編譯成uImage:
make uImage -j2 ARCH=arm CROSS_COMPILE=arm-linux-


生成uboot能識別的uramdisk:
~/work/android_r9/myandroid_R9/bootable/bootloader/uboot-imx/tools/mkimage  -A arm -O linux -T ramdisk -C none -a 0x70308000 -n "Android Root Filesystem" -d ./ramdisk.img ./uramdisk.img


\\192.168.40.248\work\android_r9\myandroid_R9\kernel_imx\arch\arm\boot\uImage


kernel啓動命令行的一些設置:
noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw rootfstype=jffs2 ip=off
root=/dev/nfs init=/init nfsroot=192.168.1.10:/nfs/rootfs ip=192.168.1.100 console=ttymxc0,115200 fbcon=rotate:1 
root=/dev/mtdblock2 rw rootfstype=ubifs noinitrd mtdparts=nand_mtd:0x300000@0x300000(uImage),0x1c00000@0x10000000(rootfs) rw console=ttymxc0,115200 fbcon=rotate:1


U-Boot環境變量設置:
setenv nand_read_kernel 'nand read ${loadaddr} 0x300000 0x290000'
setenv nand_read_rd 'nand read ${rd_loadaddr} 0x600000 0x4B000'
setenv bootcmd_nand 'run bootargs_base bootargs_android bootargs_nand; run nand_read_kernel; run nand_read_rd; bootm ${loadaddr} ${rd_loadaddr}'
setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
setenv bootargs_nand 'setenv bootargs ${bootargs} ubi.mtd=3'
setenv bootargs_android 'setenv bootargs ${bootargs} init=/init androidboot.console=ttymxc0'
setenv loadaddr 0x90800000
setenv rd_loadaddr 0x90B00000


#busybox啓動
setenv bootargs_android 'setenv bootargs ${bootargs} init=/linuxrc androidboot.console=ttymxc0'


#如果停留在Touchscreen Calibration界面,意思即校準觸摸屏.如果不想校正,可去掉wvga calibration,跳過此界面
setenv bootargs_android 'setenv bootargs ${bootargs} init=/init androidboot.console=ttymxc0 console=tty0'
saveenv
#串口3(ttymxc2)用來做調試控制檯
setenv bootargs_android 'setenv bootargs ${bootargs} init=/init androidboot.console=ttymxc2 console=tty0 wvga calibration'
setenv bootargs_base 'setenv bootargs console=ttymxc2,115200'
saveenv


NSF啓動環境變量設置:
setenv bootargs_android 'setenv bootargs ${bootargs} root=/dev/nfs init=/init nfsroot=192.168.0.10:/nfs/rootfs ip=192.168.0.100::::usb0 console=ttymxc0,115200 console=tty0 wvga fbcon=rotate:1'
setenv bootargs_android 'setenv bootargs ${bootargs} root=/dev/nfs init=/init nfsroot=192.168.1.10:/nfs/rootfs ip=192.168.1.100::usb0 console=ttymxc0,115200 fbcon=rotate:1 video=mxcdi0fb:RGB565,800x480M-16@60 di0_primary wvga calibration'
setenv bootargs_android 'setenv bootargs ${bootargs} init=/init androidboot.console=ttymxc0 video=mxcdi0fb:RGB24,800x480M@60 video=mxcdi1fb:RGB24,800x480M@60 di0_primary calibration'
setenv bootargs_android 'setenv bootargs ${bootargs} init=/init androidboot.console=ttymxc0 video=mxcdi0fb:RGB24,800x480M@60 video=mxcdi1fb:YUV444,720P60 tve calibration'
mx51:
setenv bootargs_android 'setenv bootargs ${bootargs} root=/dev/nfs init=/init nfsroot=192.168.0.10:/nfs/rootfs ip=192.168.0.100::::usb0 androidboot.console=ttymxc0 video=mxcdi0fb:RGB24,800x600M@60 video=mxcdi1fb:RGB24,800x480M@60 di0_primary'


mxcdi1fb:TV-PAL


 


svn import --no-ignore uboot-imx-nand svn://192.168.0.97/iMx51_Android/Android2.2/trunk/bootable/bootloader/uboot-imx-nand -m "iMx51 android r9 nand uboot for ZhongHong" --username hui --password
svn import --no-ignore kernel_imx svn://192.168.0.97/iMx51_Android/Android2.2/trunk/ -m "iMx51 android r9 Linux-2.6.31 kernel for ZhongHong" --username hui --password
svn import --no-ignore kernel_imx svn://192.168.0.97/iMx51_Android/imx-android-r9.2/trunk  -m "iMx51 android r9.2 Linux-2.6.31 kernel for ZhongHong" --username hui --password 
svn import --no-ignore kernel_imx svn://192.168.0.97/iMx51_Android/imx-android-r10/trunk  -m "iMx51 android2.3 (BSP r10) Linux-2.6.35 kernel for ZhongHong" --username hui --password 
svn import --no-ignore luvcview_port https://192.168.0.121:8443/svn/BSP/Android/iMX51/Base/trunk/luvcview_port -m "quick camera preview project. add by hui" --username liuyh --password ***
svn import --no-ignore kernel_imx https://product/svn/903/myandroid_R9.2.1 -m "iMx51 android r92.2 kernel for product 903 of lhyz" --username bill --password
svn import --no-ignore myandroid-r94-ok https://product/svn/903_R9.4/myandroid_R9.4 -m "iMx51 android r92.2 kernel for product 903 R9.4 of lhyz" --username bill --password
svn import --no-ignore myandroid-r9.2.1 https://192.168.0.100/svn/903/myandroid_R9.2.1 -m "iMx51 android r92.2.1 orig android for product 903 of lhyz" --username bill --password
svn import --no-ignore starl https://192.168.0.100/svn/rk2918_byd/trunk/ -m "BYD rk2918 MID" --username bill --password
svn import --no-ignore sdk_2906 https://192.168.0.21/svn/rk_2906_v2.00/trunk/ -m "rk_2906_v2.00 for lhyz 760" --username bill --password


svn import --no-ignore 4.0 https://192.168.0.21/svn/A10_crane_sdk_v4.0.3_v1.5/trunk/ -m "A10_crane_sdk_v4.0.3_v1.5 for lhyz " --username bill --password
svn import --no-ignore exdroid4.1.1_r1-a10-v0.3 https://192.168.0.21/svn/exdroid4.1.1_r1-a10-v0.3/trunk/  -m "exdroid4.1.1_r1-a10-v0.3 for lhyz " --username bill --password
svn import --no-ignore A13 https://192.168.1.45/svn/A13_1.5/trunk  -m "A13_1.5 for tdx" --username bill --password
svn import --no-ignore 4.1_v1.2 https://192.168.1.45/svn/A13_4.1_v1.2/trunk  -m "A13_android4.1_v1.2 for tdx" --username bill --password
svn import --no-ignore 4.1_v1.0 https://192.168.1.45/svn/A13_4.1_v1.0/trunk  -m "A13_android4.1_v1.0 for tdx" --username bill --password
svn import --no-ignore exdroid4.1.1_r1-a10-v0.4release https://192.168.1.45/svn/A10_4.1_v1.2/trunk  -m "A13-4.1-v1.2 for tdx" --username bill --password
svn import --no-ignore exdroid4.0.4r1-a10-v1.5release https://192.168.1.45/svn/A10_4.0_v1.5/trunk  -m "exdroid4.0.4r1-a10-v1.5release for tdx" --username bill --password
svn import --no-ignore 4.0_git_orig https://192.168.1.169/svn/exdroid4.0.4r1-a10-v1.5release/trunk -m "exdroid4.0.4r1-a10-v1.5release for TDC " --username bill --password
svn import --no-ignore A13-4.2_importsvn https://192.168.1.169/svn/A13_4.2/trunk/ -m "A13_4.2 for TDC " --username bill --password
svn import --no-ignore 1322_alps https://192.168.1.169/svn/mbk89_tb_jb2/trunk/ -m "MTK8389 for TDC 1322" --username bill --password


svn import --no-ignore A20-v3.0.1 https://192.168.1.169/svn/A20-v3.0.1/trunk/ -m "A20-v3.0.1 for TDC smart home" --username bill --password


svn import --no-ignore Service https://192.168.1.169/svn/Tdc_test_controller/trunk -m "import fiirt" --username bill --password
svn import --no-ignore RT288x_SDK_4210 https://192.168.1.169/svn/SmartPlug7620/trunk/ -m "import 7620_SDK_4210" --username bill --password
svn import --no-ignore qsdk https://192.168.2.139/svn/qca9531_qsdk/ -m "import qca9531 qsdk" --username bill --password
svn import --no-ignore qsdk https://192.168.35.12/svn/robotPadAndroid/ -m "import robot base on mt8783" --username bill --password




由於svn服務器地址改變,原來check out的源碼無法連接svn服務器,請用如下方法更新源碼svn地址:
svn switch --relocate https://192.168.1.44/svn/A13_4.1_v1.2/trunk/lichee/linux-3.0/drivers/mmc/sunxi-host/ https://192.168.1.169/svn/A13_4.1_v1.2/trunk/lichee/linux-3.0/drivers/mmc/sunxi-host/


objdump -x libmedia_jni.so | grep NEEDED


logcat Vold:* *:S&
logcat Sensor:* *:S&
logcat SerialPort:* *:S&
logcat bluedroid:* *:S&
logcat glgpsd:* *:S&


chmod u+r /system/lib/*
ls -l /system/lib/*


 


 


SMDKC110:


dnw 40000000


U-Boot
onenand erase 0 80000;onenand  write 40000000 0 80000


zImage
dnw 40000000;onenand erase 600000 500000;onenand write 40000000 600000 500000;re


ramdisk
onenand erase b00000 300000;onenand write 40000000 b00000 300000


system.img
onenand erase e00000 7800000;onenand write.yaffs2 40000000 e00000 5A00000


userdata.img
onenand erase b800000 14800000;onenand write.yaffs 40000000 b800000 1080




onenand erase 0 10000000


onenand write 57e00000 0 40000


onenand erase 0 40000;onenand write c0008000 0 40000


當你uboot跑起來之後再用仿真器或者USB下載到c0008000 再用如下命令燒寫.


SMDK6410:
Clean
onenand erase 04600000 02800000


U-Boot
onenand erase 0 40000;onenand write c0008000 0 40000
       測試:onenand erase 80000 80000;onenand write c0008000 80000 80000


zImage
dnw;onenand erase 600000 300000;onenand write c0008000 600000 300000;re


ramdisk
onenand erase 900000 100000;onenand write c0008000 900000 100000


system.img
onenand erase a00000 4300000;onenand write.yaffs2 c0008000 a00000  377F040


userdata.img
####onenand erase A000000 5E00000;onenand write.yaffs2 c0008000 A000000 2559C0
onenand erase A000000 5E00000;onenand write.yaffs2 c0008000 A000000      2559C0


onenand erase 4d00000 5300000




SMDKC100:
U-Boot
nand erase 0 40000;nand  write c0000000 0 40000
onenand erase 0 40000;onenand  write c0008000 0 40000


zImage
dnw;nand erase 600000 300000;nand write c0000000 600000 300000
dnw;onenand erase 600000 300000;onenand write c0008000 600000 300000;re


ramdisk
nand erase 900000 100000;nand write c0000000 900000 100000
onenand erase 900000 100000;onenand write c0008000 900000 100000


system.img
nand erase a00000 4300000;nand write.yaffs2 c0000000 a00000 352f980
onenand erase a00000 4300000;onenand write.yaffs2 c0008000 a00000 ?


userdata.img
nand erase 9000000 7000000;nand write.yaffs c0000000 9000000 840
onenand erase 9000000 7000000;onenand write.yaffs c0008000 9000000 840


 


root=/dev/nfs init=/init nfsroot=192.168.1.10:/nfs ip=192.168.1.100 console=ttySAC2,115200 no_console_suspend=1
root=/dev/nfs init=/init nfsroot=192.168.1.10:/nfs ip=192.168.1.100 console=ttySAC2,115200
console=ttySAC2,115200,mem=256M
nfs cdc
root=/dev/nfs init=/init nfsroot=192.168.1.10://nfsroot/rootfs ip=192.168.1.100 console=ttySAC2,115200 fbcon=rotate:1




root=/dev/nfs init=/init nfsroot=192.168.1.10:/nfs ip=192.168.1.100 console=tty0 console=ttySAC2,115200 fbcon=rotate:3
root=/dev/nfs init=/linuxrc nfsroot=192.168.1.10:/nfs ip=192.168.1.100 console=tty0 console=ttySAC2,115200 fbcon=rotate:3


#邱俊濤svn linux-2.6.27-android
init=/init console=ttySAC2,115200 root=/dev/nfs nfsroot=192.168.1.110:/home/win_share/root ip=192.168.1.100:192.168.1.110:192.168.1.110:255.255.255.0:ubuntu9.04:usb0:off
init=/init console=ttySAC2,115200 root=/dev/nfs nfsroot=192.168.1.10:/nfs ip=192.168.1.100:192.168.1.1:192.168.1.1:255.255.255.0:ubuntu9.04:usb0:off


#linux2.6.24 onenand 配置
root=/dev/mtdblock2 rw rootfstype=jffs2 init=/linuxrc console=ttySAC2,115200
root=/dev/mtdblock3 rw rootfstype=jffs2 init=/linuxrc console=ttySAC2,115200
init=/linuxrc console=ttySAC2,115200


sudo smbmount //192.168.16.99/開發部/ /mnt/ -o iocharset=utf8,codepage=cp936,username=liuyihui,password=lyh2009
sudo smbmount //192.168.16.248/all/ ./mnt -o iocharset=utf8,codepage=cp936,username=lyh,password=23456
sudo smbmount //172.16.10.248/all/ ./mnt -o iocharset=utf8,codepage=cp936,username=hui,password=linux
sudo smbmount //192.168.0.97/Share/ /mnt -o iocharset=utf8,codepage=cp936,username=svn,password=


sudo smbmount //192.168.16.247/samsung  /mnt/ -o username=hui%pwd
sudo smbmount //192.168.16.247/android-1.5  /mnt/ -o username=hui%pwd
sudo mount  -t cifs //192.168.35.107/bill_work/  /mnt/ -o username=bill,password=yihui8 




將luther_ramdisk.img打包成u-boot下載格式
mkimage -A arm -O linux -T ramdisk -C none -a 0x50800000 -n "ramdisk" -d luther_ramdisk.img luther_ramdisk.img-uboot.img


#在當前目錄及其子目錄下查找*.txt文件,並將查找到的文件信息顯示出來。注意:{}和\之間有空格;不要少了最後的分號
find ./ -name "*.c" -exec grep "apns" {} -nH \;
find . -type d -iname ".svn" -exec rm -rf {} \;
find ./dir -size +100000000c -print 如何用find查找大於100M的所有文件?
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目錄` 例如:把mahuinan替換爲huinanma,執行命令:sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www' 
find -name "*.php" |xargs perl -pi -e 's|21andy.com|www.21andy.com|g';以上表示:在當前目錄及子目錄下搜索所有後綴爲 .php 的文件,並且將 字符串 21andy.com 替換成 www.21andy.com


詢Linux應用程序運行依賴哪些庫
arm-linux-objdump -x rootfs_imx_test/usr/sbin/lsusb | grep NEED


改變控制檯debug消息顯示級別,可以打印printk(DEBUG ...)信息
echo > /proc/sys/kernel/printk "8"


把system.img掛載區重新掛到可寫
mount -o rw,remount -t yaffs2 /dev/block/mtdblock0 /system
mount -o rw,remount -t yaffs2 /dev/block/mmcblk0 /system






echo "at">/dev/ttyspi0


./memdmp E0200E00 182


md e0200f00


 


./configure --with-linux=/home/hui/work/zh/myandroid_R9/kernel_imx --host=arm-linux


#有的編譯器沒有arm-linux-,編譯某些代碼需要arm-linux-,因此需要鏈接
ln -s arm-eabi-addr2line arm-linux-addr2line 
ln -s arm-eabi-ar arm-linux-ar
ln -s arm-eabi-as arm-linux-as 
ln -s arm-eabi-c++ arm-linux-c++
ln -s arm-eabi-c++filt arm-linux-c++filt 
ln -s arm-eabi-cpp arm-linux-cpp 
ln -s arm-eabi-g++ arm-linux-g++ 
ln -s arm-eabi-gcc arm-linux-gcc
ln -s arm-eabi-gccbug arm-linux-gccbug 
ln -s arm-eabi-gcov arm-linux-gcov 
ln -s arm-eabi-gdb arm-linux-gdb
ln -s arm-eabi-gdbtui arm-linux-gdbtui 
ln -s arm-eabi-gprof arm-linux-gprof 
ln -s arm-eabi-ld arm-linux-ld 
ln -s arm-eabi-nm arm-linux-nm 
ln -s arm-eabi-objcopy arm-linux-objcopy 
ln -s arm-eabi-objdump arm-linux-objdump 
ln -s arm-eabi-ranlib arm-linux-ranlib 
ln -s arm-eabi-readelf arm-linux-readelf 
ln -s arm-eabi-run arm-linux-run 
ln -s arm-eabi-size arm-linux-size 
ln -s arm-eabi-strings arm-linux-strings 
ln -s arm-eabi-strip arm-linux-strip 


export TARGET_TYPE=%MISSING%
export cross_stack_direction=-1
export cross_signum=64
export cross_linuxthreads=0


#啓動停止svn服務
sudo svnserve -d  -r /home/root/
killall svnserve




不同3G模塊移植
【1】
打開:out\target\product\imx51_bbg\root\init.rc
根據不同模塊修改:
#ZTE C100, add by hui
service ril-daemon /system/bin/rild -l /system/lib/libreference-ril.so -- -d /dev/ttyUSB0 -u /dev/ttyUSB2
#WCDMA U6300V, add by hui
#service ril-daemon /system/bin/rild -l /system/lib/libreference-ril.so -- -d /dev/ttyUSB1 -u /dev/ttyUSB2
【2】
打開:out\target\product\imx51_bbg\system\etc\init.gprs-pppd
根據不同模塊修改:
#below is config for U6300 WCDMA modem
/system/bin/pppd  /dev/ttyUSB2 9600 mru 1280 mtu 1280 nodetach debug dump defaultroute usepeerdns novj novjccomp noipdefault ipcp-accept-local ipcp-accept-remote connect-delay 5000 linkname ppp0
#below is config for ZTE CDMA modem
#/system/bin/pppd  /dev/ttyUSB0 115200 mru 1280 mtu 1280 nodetach debug dump defaultroute usepeerdns novj novjccomp noipdefault ipcp-accept-local ipcp-accept-remote connect-delay 5000 linkname ppp0 name "card" password "card"




在我們的工作經常要驗證不同相同源碼不同配置內核版本,比如imx51_evk,imx53_smd,imx53_t4.imx_51_t3,
可以針對每個配置生成一個.config,
mkdir imx53_smd
cp .config_imx53_smd imx53_smd/.config
make uImage O=imx53_smd -j4
mkdir imx53_t4
cp .config_imx53_t4 imx53_t4/.config
make uImage O=imx53_t4 -j4


備份M9短信,電話本數據庫,
cat /data/data/com.android.providers.telephony/databases/mmssms.db > /sdcard/mmssms.db
cat /sdcard/mmssms.db > /data/data/com.android.providers.telephony/databases/mmssms.db
cat /data/data/com.android.providers.contacts/databases/contacts2.db > contacts2.db




這樣備份LINUX
tar -cvpzf /media/Data/linux_bak.tgz –exclude=/proc –exclude=/lost+found –exclude=/media –exclude=/mnt –exclude=/sys / 


cpio解壓絕對路徑解決方法
cpio -iF initramfs --no-absolute-filenames


添加用戶超級權限方法
sudo usermod -aG admin


更改目錄用戶擁有者
sudo chown liufc.liufc 目錄名 -R


samba添加賬戶:
sudo smbpasswd -a LiSi
samba添加用戶權限:
sudo vi /etc/samba/smb.conf
valid users=ZhangSan LiSi


RK內核編譯需要安裝:uudecode
sudo apt-get install sharutils


在init.rc不能直接/sbin/feedplayid
要用 exec /sbin/feedplayid 好了.


/system/bin/busybox find / -name dram
/system/bin/busybox find / -name ft5x_ts.ko
/system/bin/busybox lsusb


A10 fastboot燒固件
fastboot flash boot \\192.170.99.100\home\tdx\work\tdx\A13\android4.1\out\target\product\nuclear-evb\boot.img //往flash boot分區燒錄boot.img


$fastboot flash system system.img //往flash system分區燒錄system.img
fastboot flash system Z:\project\A10XX\4.0_svn\android4.0\out\target\product\crane-3g\system.img


$fastboot flash data userdata.img


查看wake_lock鎖
cat /sys/power/wake_lock


A10打包system.img
mkuserimg.sh -s out/target/product/crane-iNote_v4/system out/target/product/crane-iNote_v4/obj/PACKAGING/systemimage_intermediates/system.img ext4 system 536870912
A10打包userdata.img
mkuserimg.sh -s out/target/product/crane-iNote_v4/data out/target/product/crane-iNote_v4/userdata.img ext4 data


/system/bin/busybox ifconfig


廣東省深圳市寶安區建安二路流塘荔景新村38棟401


/data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml


A10下載源碼
$ git clone ssh://[email protected]/git_repo/repo.git


1 、下載 android4.0 倉庫 : : username 替換成客戶帳號的用戶名
$ mkdir android4.0
$ cd android4.0
$ repo init -u ssh://[email protected]/git_repo/manifest.git
$ repo sync
$ repo start ics-exdroid --all
2 、下載 lichee (linux kernel) 代碼 : username 替換成客戶帳號的用戶名
注意 : 客戶不要在 android4.0 目錄下面去創建 lichee 目錄 , 否則初始化時不會生成新的 .rep o
文件,而是用上一級的 .repo 文件。最好在 android4.0 的同一級目錄創建 lichee 目錄。
$ cd ..
$ mkdir lichee
$ cd lichee
$ repo init -u ssh://[email protected]/git_repo/manifest.git -m lichee.xml
$ repo sync
$ repo start lichee-dev --all
3 、 更新 android4.1 代碼: username 替換成客戶帳號的用戶名
$ mkdir android4.1
$ cd android4.1
$ repo init -u ssh://[email protected]/git_repo/manifest.git -b jb-exdroid
$ repo sync
$ repo start jb-exdroid --all
4 、 對應 android4.1 的 lichee 代碼,更新地址如下: username 替換成客戶帳號的用戶名
$ mkdir lichee-jb
$ cd lichee-jb
$ repo init -u ssh://[email protected]/git_repo/manifest.git -b jb-exdroid -m lichee-jb.xml
$ repo sync
$ repo start lichee-jb --all




A13下載源碼
電信網絡使用 IP 地址: 61.143.53.198
1 、下載 android4.0 倉庫: username 替換成客戶帳號的用戶名
$ mkdir android4.0
$ cd android4.0
$ repo init -u ssh://[email protected]/git_repo/manifest.git -m android_a13.xml
$ repo sync
全部下載完成之後,創建分支
$ repo start ics-exdroid --all
2 、 更新 android4.1 代碼: username 替換成客戶帳號的用戶名
$ mkdir android4.1
$ cd android4. 1
$ repo init -u ssh://[email protected]/git_repo/manifest.git -b jb-exdroid -m android_a13.xml
$ repo sync
全部下載完成之後,創建分支
$ repo start jb-exdroid --all
3 、下載 lichee_a13 部分 (linux kernel 3.0) 代碼: username 替換成客戶帳號的用戶名,
注意 : 客戶不要在 android4.0 目錄下面去創建 lichee 目錄 , 否則初始化時不會生成新的 .rep o
文件,而是用上一級的 .repo 文件。最好在 android4.0 的同一級目錄創建 lichee 目錄。
$ cd ..
$ mkdir lichee
$ cd lichee
$ repo init -u ssh://[email protected]/git_repo/manifest.git -m lichee_a13.xml
$ repo sync
全部下載完成之後,創建分支
$ repo start a1x-dev --all


/system/bin/busybox find / -name ft5x_ts.ko
adb -s 20080411413fc082 push Z:\project\A10XX\indoor_terminal\lichee\linux-3.0\drivers\input\touchscreen\ft5x_ts.ko /system/vendor/modules/ft5x_ts.ko
adb -s 200804116818d41 push Z:\project\A13XX\A13-4.2\lichee\linux-3.0\drivers\input\touchscreen\ft5x_ts.ko /system/vendor/modules/ft5x_ts.ko
adb pull /system/build.prop d:\
adb push d:\build.prop /system/build.prop
mount -o remount -t ext4 -rw /dev/block/nandd /system
mount -o remount -t ext4 -rw /dev/block/system /system
umount /system
/system/bin/busybox mount -t ext4 -o noatime,nosuid,nodev,barrier=0,journal_checksum,noauto_da_alloc /dev/block/nandd /system


/system/bin/busybox insmod /system/vendor/modules/sw_usb_mu509.ko
adb -s 20080411413fc082 push Z:\project\A10XX\C13_LCD7inch\android4.0\out\target\product\crane-3g\system\lib\libreference-ril.so /system/lib/
/system/bin/t232 115200 /dev/ttyUSB0


通過ssh拷貝文件夾
scp -r /home/cdf本地目錄 [email protected]:/home/abc 
scp /home/你的文件 [email protected]:/home/git/repositories/gitosis-admin.git/gitosis-export/keydir/ (pwd:bill)
scp -r [email protected]:/home/zprd/kandy/mt8783_ori1121 ./




#改MAC地址 
/system/bin/busybox ifconfig eth0 down
/system/bin/busybox ifconfig eth0 hw ether 00:0C:18:EF:FF:ED
/system/bin/busybox ifconfig eth0 up


#SystemUI.apk,有返回按鈕,狀態欄
adb -s 20080411413fc082 push Z:\project\A10XX\C13_LCD7inch_old\android4.0\out\target\product\crane-3g\system\app\SystemUI.apk /system/app
#system目錄改爲可寫,使得可以用adb push調試tvin庫:
adb -s 20080411413fc082 push Z:\project\A10XX\C13_LCD7inch\android4.0\out\target\product\crane-3g\system\lib\libTvdJni.so /system/lib
adb -s 20080411413fc082 push Z:\project\A10XX\C13_LCD7inch\android4.0\out\target\product\crane-3g\system\lib\libtvdecoder.so /system/lib
adb -s 20080411413fc082 push Z:\project\A10XX\C13_LCD7inch\android4.0\out\target\product\crane-3g\system\lib\libenc_test.so /system/lib


chmod 777 /system/bin/t232
t232 115200 /dev/ttyUSB0
AT+CREG=2
H41542B435245473D320D0A
AT+CREG?
H41542B435245473FODOA
ATD13691956871
H41544431333639313935363837310D0A
H41544431383637363637393733310D0A


H41542B4353513D3F0D0A
AT回車
H41540D0A
H4154443131320D0A
H41544431303038360D0A


H41542B435245473F0D0A


9300按這個進入工程模式:
*#*#3646633#*#*




/system/bin/busybox ifconfig wlan0 212.123.5.211 netmask 255.255.0.0


把logcat記錄保存在內存卡,然後pull到本地硬盤
logcat -b radio > /sdcard/logcat-b_radio.txt
adb -s C16-SEV850413fc082 pull /sdcard/logcat-b_radio.txt f:\tmp\


E:\download\android\NDK\android-ndk-r8e\ndk-build


MTK代碼只編譯內核new kernel
./mk mbk89_tb_jb2  n  k
./mk mbk89_tb_jb2  r bootimage


MTK代碼編譯步驟:
【1】如果修改過底層代碼,通常要make update-api一次:
./mk -o=TARGET_BUILD_VARIANT=user mtk77_cu_ics2 update-api
【2】./mk -o=TARGET_BUILD_VARIANT=user mtk77_cu_ics2 new
【3】把packages\apps\prebuild_app\Phone.apk
複製到
out\target\product\mtk77_cu_ics2\system\app
【4】./mk -o=TARGET_BUILD_VARIANT=user mtk77_cu_ics2 systemimage


打包SD卡升級包方法:
./mk -o=TARGET_BUILD_VARIANT=user mtk77_cu_ics2 otapackage


全志gsensor旋轉90度改法,需要刪掉obj目錄下的編譯中間文件,因爲有可能其它產品有編譯過導致不會重新編譯
SW_BOARD_USES_GSENSOR_TYPE := mma7660
SW_BOARD_GSENSOR_DIRECT_X := true
SW_BOARD_GSENSOR_DIRECT_Y := false
SW_BOARD_GSENSOR_XY_REVERT := false
rm -fr out/target/product/crane-G70/obj/SHARED_LIBRARIES/sensors.exDroid_intermediates/AccelSensor.P
rm -fr out/target/product/crane-G70/obj/SHARED_LIBRARIES/sensors.exDroid_intermediates/AccelSensor.o
mmm device/softwinner/common/hardware/libsensors/
pack


設置郵箱:
blat -install smtp.163.com(服務器) [email protected](郵箱) -u mymailname(賬號) -pwd mypassword(密碼)
blat -install mail.zeunpro.com [email protected] -u [email protected] -pwd Zp123456
命令行下測試發郵件例子:
blat d:/blat/INFO_test.txt -to [email protected] -base64 -charset utf-8 -subject "test" -server mail.zeunpro.com -u [email protected] -pw Zp123456
g:\blat\blat G:\blat\INFO_2052.txt -to [email protected] -attach G:\blat\INFO_349_diff.txt -base64 -charset Gb2312 -subject "Svn_A10_4.0_v1.5_Commit_User_bill_Version_349" -server smtp.163.com -u liuyihui8 -pwd huihui


東用售後 28696138


全局path
C:\Program Files (x86)\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files (x86)\Microsoft Visual Studio\Common\Tools;C:\Program Files (x86)\Microsoft Visual Studio\VC98\bin;C:\Users\Administrator\Documents\UltraEdit\;D:\android-sdk-windows\tools;C:\Program Files (x86)\Java\jre1.6.0_05\bin;E:\download\android\NDK\android-ndk-r8e;C:\Program Files (x86)\Bugzilla\apache\bin;D:\MentorGraphics\9.5PADS\SDD_HOME\common\win32\lib


administrator用戶path
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows7Master;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;D:\MentorGraphics\9.5PADS\SDD_HOME\common\win32\bin;D:\MentorGraphics\9.5PADS\SDD_HOME\common\win32\lib;%MGC_HOME%\bin;%MGC_HOME%\lib;




/system/bin/busybox cat /init.sun7i.rc
insmod /system/vendor/modules/disp.ko
insmod /system/vendor/modules/lcd.ko
insmod /system/vendor/modules/hdmi.ko


ls -l /system/vendor/modules/disp.ko
ls -l /system/vendor/modules/*


adb push Y:\project\A20-v2.0-BOX\lichee\linux-3.4\drivers\video\sun7i\lcd\lcd.ko  /system/vendor/modules
chmod 777 /system/vendor/modules/lcd.ko


adb shell mount -o remount -t ext4 -rw /dev/block/system /system
adb shell chmod 777 /system/vendor/modules/ft5x_ts.ko
adb push x:\project\A20\A20-v3.0.1_ok\lichee\linux-3.4\drivers\input\touchscreen\ft5x_ts.ko /system/vendor/modules/ft5x_ts.ko


設置IP,子網掩碼
sudo ifconfig eth0:1 192.168.1.23  netmask 255.255.255.0 broadcast 192.168.1.23 


adb -s 20080411 push Y:\project\other\t232\t232 /system/bin
adb -s 20080411 shell chmod 777 /system/bin/t232
adb -s 20080411 shell
adb -s c282056488009c1df4f push Y:\project\other\t232\t232 /system/bin
adb -s c282056488009c1df4f shell chmod 777 /system/bin/t232
adb -s c282056488009c1df4f shell
rm -rf /system/lib/libSerialPort.so
t232 115200 /dev/ttyS5


adb -s c282056488009c1df4f push Y:\project\A20\A20-v3.0.1\lichee\linux-3.4\drivers\net\ethernet\sunxi\gmac\sunxi_gmac.ko /system/lib/


rm -fr /system/app/Tdc_test_controller.apk
adb -s 20080411 push D:\hui\tdx\project\服務器\tdc_android\Tdc_test_controller\bin\Tdc_test_controller.apk /system/app
stop /system/app/Tdc_test_controller.apk




用adb命令啓動你的Android程序 
啓動的方法爲


# am start -n 包(package)名/活動(activity)全路徑


查看包中每個activity的全路徑的方法:


1、安裝並啓動“固件工具箱”


2、進入“App manager”,顯示系統中所有安裝程序,長按想通過命令行啓動的程序。


3、彈出的窗口中選擇"Advanced Freeze",該程序所有的activity就會全部顯示出來


activity有兩種顯示格式,一種直接顯示全路徑,另一種在括號裏顯示相對路徑,相對路徑加上包名即是全路徑。


am start -n com.tdc.test.controller/com.tdc.test.controller.MainActivity
am start -n com.tdc.test.ResetQtActivity/com.tdc.test.ResetQtActivity.RestartQtActivity
am start -n org.qtproject.example.DeviceTests/org.qtproject.qt5.android.bindings.QtActivity
殺進程
busybox killall com.tdc.test.controller


DM9620網卡燒MAC apk davicom_usb1.2命令行啓動
am start -n com.example.davicom_usb/com.example.davicom_usb.USBMain


如何通過ADB獲取安卓設備中正在運行的程序
adb shell dumpsys activity|grep qt


rm /data/local/tmp/QtApp-debug.apk
rm /data/app/QtApp-debug.apk
rm /data/local/tmp/QtActivity.apk
rm /data/app/QtActivity.apk
rm /data/local/tmp/Tdc_test_controller.apk
rm /data/app/Tdc_test_controller.apk


adb pull /data/data/com.tdc.test.controller/files/devices.db d:\


adb uninstall com.tdc.smarthome


??mem2mem_testdev.ko
cd /vendor/modules
insmod videobuf2-core.ko
insmod v4l2-mem2mem.ko
insmod videobuf2-memops.ko
insmod videobuf2-vmalloc.ko
insmod mem2mem_testdev.ko




console=ttyS1,38400 root=/dev/mtdblock1
console=ttyS0,38400 root=/dev/mtdblock1




cat /system/usr/keylayout/


adb push Y:\project\A10XX\C13_LCD7inch\android4.0\device\softwinner\crane-C13-wireless\sun4i-ir.kl /system/usr/keylayout/


export  LD_LIBRARY_PATH=$PROG_LIB:/bin/DeviceTest/
export  LD_LIBRARY_PATH=/bin/DeviceTest


查找依賴庫
mipsel-linux-objdump -x ~/work/TDCclound/Device_qt4/App/Device/DeviceTests|grep "NEED"


批量減肥
sudo find /usr/local/Trolltech/QtEmbedded-4.7.4-mips/lib/ -name "lib*.so*" -exec ~/work/rtl819x-SDK-v3.4.6.4-full-package/rtl819x/toolchain/rsdk-1.5.5-4181-EB-2.6.30-0.9.30.3-110225/bin/mips-linux-strip {} \;


./configure -v -xplatform linux-mips-g++ -confirm-license -release -shared -opensource -nomake examples -nomake tests -no-sql-sqlite  -no-openvg  -no-eglfs -no-gui -no-openssl -no-sse2


setenv ipaddr 192.168.1.6
setenv serverip 192.168.1.169
saveenv


a_uImage


Linux下查看網關方法:


1、route -n
2、ip route show
3、traceroute www.prudentwoo.com -s 100 【第一行就是自己的網關】
4、netstat -r
5、more /etc/network/interfaces 【Debian/Ubuntu Linux】
6、more /etc/sysconfig/network-scripts/ifcfg-eth0 【Red Hat Linux】


/system/bin/busybox ifconfig eth0
netcfg eth0 dhcp up
ping 192.168.1.1


ifconfig br0 192.168.1.6 netmask 255.255.255.0
route add default gw 192.168.1.1
打開resolv.conf加入:nameserver 202.106.0.20
IPv4 DNS 服務器: 210.21.196.6, 202.96.128.68


【1】去掉cdc_ether.ko驅動,這個驅動會與dm9621搶註冊設備,導致沒用到dm9621,進而造成以太網不穩定
【2】DM9621驅動改爲2.49版本,之前版本會出現斷電重啓讀不到vid情況,進而不加載驅動


ping -c 4 58.251.13.168


編譯亂碼問題的解決:
controllermodel.h:1: error: stray '\239' in program
controllermodel.h:1: error: stray '\187' in program
controllermodel.h:1: error: stray '\191' in program
這個問題是由於文件頭三個字節是EFBBBF造成,用ultraEdit打開,ctrl+D刪除即可


文件->轉換->Unix/MAC轉DOS
不行則
用ultraEdit打開,文件->轉換->Unicode 轉 Unicode big Endian,再 文件->轉換->ASCII轉UTF8(Unicode編輯)


gpio l 24 4000 1000 1000 1000 1000
gpio l 13 4000 0 1 1 4000
killall DeviceTests


nvram_set restore_defaults=1
nvram_set commit


# 海思3518燒錄
# 單板上電後,敲任意鍵進入u-boot。設置serverip(即tftp服務器的ip)、ipaddr(單板ip)和ethaddr(單板的MAC地址)。
    setenv serverip 192.168.1.169
    setenv ipaddr 192.168.1.9
    setenv netmask 255.255.255.0
    setenv gatewayip 192.168.1.1
    ping 192.168.1.1
    確保網絡暢通。
    
    以16M SPI Flash爲例。
    1)地址空間說明
        |     1M     |      3M       |      12M              |
        |------------|---------------|-----------------------|
        |    boot    |     kernel    |     rootfs            |


        以下的操作均基於圖示的地址空間分配,您也可以根據實際情況進行調整。
    2)燒寫u-boot
sf probe 0
sf erase 0 0x100000
mw.b 82000000 ff 100000
tftp 0x82000000 u-boot-200MHZ.bin #如果是hi3516c,使用u-boot-220MHZ.bin
sf write 82000000 0 100000
reset    
    3)燒寫內核
sf probe 0
sf erase 100000 0x300000
mw.b 82000000 ff 300000
tftp 82000000 uImage
sf write 82000000 100000 300000
    4)燒寫文件系統
sf probe 0
sf erase 400000 0xc00000
mw.b 82000000 ff c00000
tftp 82000000 rootfs_64k.jffs2
sf write 82000000 400000 0xc00000
    5)設置啓動參數
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'
save    
    
ifconfig eth0 192.168.1.9 up
mount -t nfs  -o nolock 192.168.2.191:/home/a/work/TDCclound/HisiGW_qt4/App/Device /mnt


ifconfig br0 192.168.2.19 up
mount -t nfs  -o nolock 192.168.2.191:/home/a/work /mnt
ifconfig eth0 192.168.199.12 up
mount -t nfs  -o nolock 192.168.199.112:/home/a/work /mnt
mount -t nfs  -o nolock 192.168.50.250:/home/bill/work /mnt/mnt
mount -t nfs  -o nolock 192.168.50.250:/ /mnt/mnt




./mjpg_streamer -o "output_http.so -w /bin/www" -i "./input_uvc.so -r 640x480 -d /dev/video0"


VI中的批量替換
1) 文件內全部替換:
:%s#abc#123#g (如文件內有#,可用/替換,:%s/abc/123/g)
  --注:把abc替換成123
(或者: %s/str1/str2/g 用str2替換文件中所有的str1)


2) 文件內局部替換:
 :20,30s#abc#123(如文件內有#,可用/替換,:%s/abc/123/g)
  --注:把20行到30行內abc替換成123


code.google.com/p/zedboard-book-source


git clone https://github.com/xupsh/codesourcery.git
echo export "PATH=~/xilinx/codesourcery/bin/:$PATH" >> ~/.bashrc
echo export "CROSS_COMPILE=arm-xilinx-linux-gnueabi-" >> ~/.bashrc


sudo apt-get install libssl-dev
sudo apt-get install device-tree-compiler
編譯uboot時出現dtc: invalid option -- 'i'問題的解決 
http://blog.chinaunix.net/uid-30122221-id-5372805.html


git clone https://github.com/xilinx/u-boot-xlnx.git
make zynq_zed_config


git clone https://github.com/xilinx/linux-xlnx.git
git clone https://github.com/xupsh/configs_patch.git
書本網盤內容:https://github.com/xupsh/ 
make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage


code.google.com/p/zedboard-book-source
https://zedboard-book-source.googlecode.com/svn/


7620 cmdline:
console=ttyS0  panic=3
console=ttyS1,57600n8 root=/dev/ram0 panic=3


Xilinx QEMU:
http://www.wiki.xilinx.com/QEMU+-+Zynq-7000


./aarch64-softmmu/qemu-system-aarch64     -M arm-generic-fdt-plnx -machine linux=on     -serial /dev/null -serial mon:stdio -display none     -kernel ../images/zc706/uImage -dtb ../images/zc706/devicetree.dtb --initrd ../images/zc706/uramdisk.image.gz


iwpriv ra0 set SiteSurvey=1
iwpriv ra0 get_site_survey




qca9531:
ITTM:
setenv bootargs console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),6272k(rootfs),1408k(uImage),64k(SYSLOG),64k(NVRAM),64k(ART)


setenv bootargs root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),6336k(rootfs),1408k(uImage),64k(mib0),64k(ART)


命令行查看端口號被哪個進程佔用
netstat -nao | findstr "9010"
 TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017
tasklist | findstr "3017"
taskkill /pid 3017


如果你是個Linux愛好者,那個這個命令你應該很熟了,
netstat -pan | grep 9010


xilinx相關
export ARCH=arm
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
#make xilinx_zynq_defconfig
#make
#make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage
#éú3ééè±?ê÷
#../scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb system.dts
make modules SUBDIRS=drivers/spi
ln -s /mnt/ /lib/modules/4.0.0-xilinx


ifconfig eth0 192.168.199.18 up
mount -t nfs  -o nolock 192.168.199.95:/home/a/work /mnt
cd /lib/modules/4.0.0-xilinx
ln -s /mnt/fs/xilinx/src/linux-xlnx-xilinx-v2015.4/drivers/net/ethernet/fsfpga/ /lib/modules/4.0.0-xilinx


beyond compare過濾
*.class
*.so
*.dex
*.jar
*.o
*.d
*.png
*.classpath


export JAVA_HOME=/usr/java/jdk1.6.0_43/
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH




windows無法訪問網絡共享解決方法:
打開cmd命令窗口:
1.輸入命令:net use查看你當前與網絡資源的連接,例如驅動器映射、IPC連接。
2.用net use * /del /y命令中斷開所有連接.
3.在重新登錄就可以連接上了


MTK 8783進入內核menuconfig
cd kernel-3.18/
TARGET_PRODUCT=full_elink8783_tb_l1 KBUILD_OUTPUT_SUPPORT=yes make O=out menuconfig
不用進入內核目錄menuconfig
make -C /home/bill/work/mt8783_ori1121_stroke_ir/out/target/product/elink8783_tb_l1/obj/KERNEL_OBJ         KBUILD_SRC=/home/bill/work/mt8783_ori1121_stroke_ir/kernel-3.10         KBUILD_EXTMOD="" -f /home/bill/work/mt8783_ori1121_stroke_ir/kernel-3.10/Makefile         menuconfig ARCH=arm64


#android源碼 快速只編譯內核
make -C kernel-3.10 O=/home/bill/work/mt8783_ori1121_stroke_ir/out/target/product/elink8783_tb_l1/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=/home/bill/work/mt8783_ori1121_stroke_ir/prebuilts/gcc/linux-x86/aarch64/cit-aarch64-linux-android-4.9/bin/aarch64-linux-android- ROOTDIR=/home/bill/work/mt8783_ori1121_stroke_ir V=1 elink8783_tb_l1_debug_defconfig


make -C kernel-3.10 O=/home/bill/work/mt8783_ori1121_stroke_ir/out/target/product/elink8783_tb_l1/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=/home/bill/work/mt8783_ori1121_stroke_ir/prebuilts/gcc/linux-x86/aarch64/cit-aarch64-linux-android-4.9/bin/aarch64-linux-android- ROOTDIR=/home/bill/work/mt8783_ori1121_stroke_ir V=1


cp out/target/product/elink8783_tb_l1/obj/KERNEL_OBJ/arch/arm64/boot/Image.gz-dtb out/target/product/elink8783_tb_l1/kernel


out/host/linux-x86/bin/mkbootimg  --kernel out/target/product/elink8783_tb_l1/kernel --ramdisk out/target/product/elink8783_tb_l1/ramdisk.img --cmdline "bootopt=64S3,32N2,64N2" --base 0x40000000 --ramdisk_offset 0x04000000 --kernel_offset 0x00080000 --tags_offset 0xE000000 --board 1524559342 --kernel_offset 0x00080000 --ramdisk_offset 0x04000000 --tags_offset 0xE000000 --output out/target/product/elink8783_tb_l1/boot.img
#android源碼 快速只編譯內核end


vi ./drivers/misc/mediatek/Makefile


device\elink\elink8783_tb_l1\elink\W8011\elink8783_tb_l1_debug_defconfig
./system/core/rootdir/init.rc


\\192.168.35.253\KandyServer\tmp\mt8783_ori1121\frameworks\compile\slang\tests\P_str_escape\str\\escape.rs
背光:
bootable/bootloader/preloader/platform/mt6735/src/drivers/platform.c
        mt_set_gpio_mode(GPIO146, GPIO_MODE_00); //BL_EN
        mt_set_gpio_dir(GPIO146, GPIO_DIR_OUT);
        mt_set_gpio_out(GPIO146, GPIO_OUT_ONE);
bootable/bootloader/lk/dev/lcm/n551021_innolux_dsi_vdo/n551021_innolux_dsi_vdo.c
kernel-3.10/drivers/misc/mediatek/lcm/n551021_innolux_dsi_vdo/n551021_innolux_dsi_vdo.c


kernel-3.10/drivers/misc/mediatek/gpio_driver/gpiodrv.c
if( mt_get_gpio_in(GPIO_DISTANCE_PIN) )
{
 mt_set_gpio_out(GPIO146, GPIO_OUT_ONE); //LCD_BL OFF //hui modyfy
 
觸摸屏TP驅動
vi ./kernel-3.10/drivers/input/touchscreen/mediatek/Makefile
obj-y     +=  elan_ktf/
#obj-y    +=  GT9110/


改dws gpio功能
kernel-3.10/tools/dct/DrvGen.exe device\elink\elink8783_tb_l1\elink\W8011


usb id
#ifdef CONFIG_ZPPROJECT_ROBOT
#define GPIO_OTG_ID_PIN (GPIO68 | 0x80000000) //SPI_MO 機器人
#else ifdef CONFIG_ZPPROJECT_ZK
#define GPIO_OTG_ID_PIN (GPIO67 | 0x80000000) //SPI_MI 導播中控
#endif


音頻參數
vendor\mediatek\proprietary\custom\common\cgen\cfgdefault\audio_ver1_volume_custom_default.h


MTK平臺
按*#*#3646633#*#*進工程模式


允許豎屏修改
vi ./frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
搜kandy




攝像頭只改參數編譯push庫
./make_project.sh RH_F4L6V elink8783_tb_l1 W8011 mmm "vendor/mediatek/proprietary/custom"
mount -o remount /dev/block/platform/mtk-msdc.0/by-name/system
adb push \\192.168.50.249\bill_work\mt8783_ori1121_stroke_ir\out\target\product\elink8783_tb_l1\system\lib\libcameracustom.so /system/lib/
#修改成左右鏡像,上下鏡像
kernel-3.10\drivers\misc\mediatek\imgsensor\src\mt6753\imx214_mipi_raw\imx214mipiraw_Sensor.c
static void sensor_init(void)
{    write_cmos_sensor(0x0101,0x00);//左右鏡像,上下鏡像
.sensor_output_dataformat = SENSOR_OUTPUT_FORMAT_RAW_R,




查看 Ubuntu 的版本號,可以採用以下兩種方法:
方法一:
在終端中執行下列指令:
cat
/etc/issue
可以查看當前正在運行的 Ubuntu 的版本號。其輸出結果類似下面的內容:
Ubuntu 10.04 LTS \n \l
方法二:
使用 lsb_release 命令也可以查看 Ubuntu
的版本號,與方法一相比,內容更爲詳細。執行指令如下:
sudo lsb_release -a


複製ssh-keygen -t rsa到git服務器
scp ~/.ssh/id_rsa.pub [email protected]:/home/bill/work/git-test/gitosis-admin/keydir/[email protected]
git add .
git commit -am "log"
git push origin master


在192.168.50.250上克隆代碼robot-mt8783
cd ~/work
git clone [email protected]:robot-mt8783.git  robot-mt8783


查信號強度命令:
iwpriv wlan0 stat
rssi在無線網絡中表示信號的強度,它隨距離的增大而衰減,通常爲負值,該值越接近零說明信號強度越高。
RSSI持續過低,說明基站收到的上行信號太弱,可能導致解調失敗。 RSSI持續過高,說明收到的上行信號太強,相互之間的干擾太大,也影響信號解調。
SNR是signal to noise ratio的縮寫,即信噪比,它指規定條件下測得的有用信號電平與電磁噪聲電平之間的比值。在任意點上有用信號的幅度與同一點上噪聲信號的幅度之比,並用分貝(dB)表示。峯值與脈衝噪聲相聯繫,有效值則與隨機噪聲相聯繫。
一般是越大越好。


要將目錄logs打包壓縮並分割成多個1M的文件,可以用下面的命令:
 tar cjf - logs/ |split -b 1m - logs.tar.bz2.
完成後會產生下列文件:
 logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac
要解壓的時候只要執行下面的命令就可以了:
cat logs.tar.bz2.a* | tar xj


使用tar對文件加密
           $ tar -zcvf - stuff|openssl des3 -salt -k secretpassword | dd of=stuff.des3
         將得到一個 stuff.des3文件,用你的密碼替換secretpassword,切勿搞忘了
        使用tar對加密文件解壓
         $ dd if=stuff.des3 |openssl des3 -d -k secretpassword|tar zxf -
         特別注意, 命令最後又一"-",它將釋放所有的文件。
         
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章