步骤,参考
配置目录:
——TFTP server配置工作目录:
/home/titron/tftpboot
——NFS server 配置工作目录:
/home/titron/export/rfs *(rw,sync,no_root_squash)
u-boot下,设置环境变量:
=> setenv ethaddr 2E:09:0A:03:8A:28
=> setenv ipaddr '192.168.0.3' (板子ip)
=> setenv load_run_qnx_tftp 'tftp 0x40100000 192.168.0.20:ifs-rcar_h3.bin; go 0x40100000' (服务器ip)
$ sudo gedit /etc/default/tftpd-hpa
将原来的内容为:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
#TFTP_DIRECTORY="/var/lib/tftpboot" #修改为自己需要的路径,与上面创建的目录一致
TFTP_ADDRESS="0.0.0.0:69"
#TFTP_OPTIONS="--secure" #可以通过查看mantftpd,看各种参数的意义
#修改为
TFTP_DIRECTORY="/home/shenhao/tftpboot"
TFTP_OPTIONS="-l -c -s"
在文件/etc/exports中进行定义, 将目录 /home/renesas/export/rfs 共享出来。
/home/renesas/export/rfs *(rw,sync,no_root_squash)
参看下面的修改:
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/home/titron/export/rfs *(rw,sync,no_root_squash)
启动tftpserver
$ sudo service tftpd-hpa start
启动nfs server
$ sudo /etc/init.d/rpcbind restart
$ sudo /etc/init.d/nfs-kernel-server restart
# ifconfig ravb0 192.168.0.3
# fs-nfs3 192.168.0.20:/home/renesas/export/demo /demo
candleLight_fw candleLight固件还支持BUSMASTER。
注: 淘宝有人在售,100多块RMB。
【step 1】Prepare
mydroid$ export TARGET_BOARD_PLATFORM=r8a77965
mydroid$ source build/envsetup.sh
mydroid$ lunch salvator-userdebug
mydroid$ make -j3
…...
[100% 66/66] Target vbmeta image: out/target/product/salvator/vbmeta.img
#### build completed successfully (06:23 (mm:ss)) ####
【step 2】make OTA package
mydroid$ make otapackage #——会生成sd卡用的全部系统升级包
(or, mydroid$ make full_otapackage)
…...
[100% 75/75] Package OTA: out/target/product/salvator/salvator-ota-eng.dongtz.zip
…...
running: java -Xmx2048m -Djava.library.path=out/host/linux-x86/lib64 -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 /tmp/tmpqPUopK.zip out/target/product/salvator/salvator-ota-eng.dongtz.zip
done.
#### build completed successfully (06:28 (mm:ss)) ####
【step 3】Edit code
修改代码以后。
【step 4】re-make
mydroid$ make #——重新编译
mydroid$ make otapackage #——重新生产升级包
mydroid$ ./build/tools/releasetools/ota_from_target_files -i out/target/product/salvator/salvator-ota-eng.dongtz.zip out/target/product/salvator/salvator-ota-eng.dongtz.original.zip out/target/product/salvator/ota_diff_package.zip #---这里有错误发生,也许还有bug,导致不能生成差分包
Traceback (most recent call last):
File "./build/tools/releasetools/ota_from_target_files", line 1996, in <module>
main(sys.argv[1:])
File "./build/tools/releasetools/ota_from_target_files", line 1887, in main
OPTIONS.info_dict = common.LoadInfoDict(input_zip)
File "/home/dongtz/work/android/android_v530_m3n/RENESAS_RCH3M3M3N_Android_P_ReleaseNote_2019_08E/mydroid/build/make/tools/releasetools/common.py", line 169, in LoadInfoDict
raise ValueError("can't find META/misc_info.txt in input target-files")
ValueError: can't find META/misc_info.txt in input target-files
【方法1 】通过recovery实现
通过recovery升级的功能进行实现的。
Recovery提供的功能如下,使用apply update from sdcard功能即可升级OTA包。
【方法2 】通过adb实现
可以通过adbroot/adb remount/adb push指令实现,但是需要连接到电脑PC端,且支持adb才行。
$ ./adb push -p /home/m3n_imgs/salvator-ota-eng.dongtz.zip /data/update.zip
$ ./adb shell uncrypt /data/update.zip /cache/recovery/block.map #---注意:要等待一段时间,直到命令执行退出…,然后在执行如下命令;
$ ./adb shell "echo \"--update_package=@/cache/recovery/block.map\" > /cache/recovery/command"
$ ./adb reboot recovery #---注意:要多等待一段时间,直到升级完成。
......
[ 2.969568] read strings
[ 2.972384] android.hardware.health@2.0-impl: wakealarm_init: timerfd_create failed
[ 2.982487] audit: type=1400 audit(1576201012.192:7): avc: denied { wake_alarm } for pid=1400 comm="charger" capability=35 scontext=u:r:charger:s0 tcontext=u:r:charger:s0 tclass=capability2 permissive=0
[ 2.983643] healthd: battery none chg= #---这里要一直等待,不要断电,直到出现下面的log信息提示
[ 123.044678] init: Received sys.powerctl='reboot,' from pid: 1401 (/sbin/recovery)
[ 123.052392] init: Clear action queue and start shutdown trigger
[ 123.058413] init: processing action (shutdown_done) from (<Builtin Action>:0)
[ 123.065652] init: Reboot start, reason: reboot,, rebootTarget:
[ 123.071825] init: Shutdown timeout: 6000 ms
[ 123.076064] init: terminating init services
[ 123.080274] init: Sending signal 15 to service 'recovery' (pid 1401) process group...
[ 123.089378] init: Sending signal 15 to service 'charger' (pid 1400) process group...
[ 123.097858] init: Sending signal 15 to service 'tee_supplicant' (pid 1398) process group...
[ 123.106414] init: Sending signal 15 to service 'ueventd' (pid 1064) process group...
[ 126.210034] reboot: Restarting system with command ''
NOTICE: R-Car M3N Initial Program Loader(CR7)
NOTICE: Initial Program Loader (Rev.2.0.7)
NOTICE: Built : 13:05:37, Apr 1 2021
NOTICE: PRR is R-Car M3N Ver.1.1
5pin USB的概念来自于OTG(On-The-Go)标准:
ID引脚的功能用于区分是Host还是Peripheral:
USB OTG概念的引入,使得USB device既可以作为Host,又可以作为Peripheral。
电路中,3.3V regulator接收来自USB host的VBus,产生3.3V输出。
D+/D-上的15K上拉电阻用于表明device的通讯速度:
以下这两个特征是Host拥有的:
除了这些物理连接外,USB还要提供以下功能:
除了可以做Host/Peripheral这样的双角色外,OTG需要额外的电路支持两种新的协议——HNP(Host Negotiation Protocol) & SRP(Session Request Protocol)。
在OTG命名中,Host被称为A-Device,Peripheral被称为B-Device。
参考:
摄像头画面有黑条纹闪烁,这种现象称之为频闪。
频闪是一种物理光电成像现象,是一种在特定监控场景下才会出现的现象,不是摄像头损坏导致的。
摄像头默认是自动曝光+逐行曝光方式,监控环境亮度很高时,为保证画面效果,摄像机会权衡降低增益和曝光时间(快门)。
当快门降的很低的时,每一帧拍摄的画面都曝光不足,从视频上来看就表现为黑色条纹或LED闪烁现象。
形象一些说,就像你走在大太阳下(光照太强),眼睛(摄像机)会眯成一条缝(快门降低),减少光线进入(曝光量)。这样的话,太阳你是看清了,但天上飞的飞机你就看不到了(因为你眼睛眯了缝,导致飞机反射的光线进来的太少了)。就是这个道理,所以遇到问题后知其所以然,然后解决掉问题。
根本方法就是:改变摄像头的进光量,提高曝光时间。
1 、调整摄像机角度
如果监控画面中有部分区域亮度很高,其他区域亮度较低,可以尝试调整角度,减少亮区,避免画面过亮,从而提高曝光时间。
2 、设置区域补偿
区域补偿设置方法:进入摄像头的web管理页面->设置->摄像头->画面显示->区域补偿->自定义。
自定义选中画面中较暗区域进行补偿,提高曝光时间。
区域补偿后画面亮度整体会提高,建议结合改善后的实际效果进行多区域尝试和选择。
3、利用遮光纸
可以尝试给摄像头镜头前贴一个黑色遮光纸,相当于增加了一层滤片来降低摄像头的进光量,从而提高曝光时间,改善频闪现象。
手机拍照出现波纹可能是以下几个原因:
(1). 如果用手机拍摄电视、电脑等屏幕时,由于屏幕是按照一定频率刷新画面的,刷新频率(图像在屏幕上更新的速度)超过人眼感知的范围,但手机拍摄头却可以捕捉到,刷新过程中的屏幕就显示为条纹.
(2). 如果在灯光环境下拍照时,灯光由交流电供电,具有一定的闪烁频率,当灯光频率与摄像头扫描频率不匹配时,会出现水波纹现象.
(3). 如果夜景环境下拍照时,也可能因为光线过暗出现条纹,建议您适当增加周围光照.
昨天碰到了一个MOS开关管使用的问题:
解决方案【1】 由于Vout外接大容性负载,很容易造成Vin上的冲击/急剧跳变,以至于会降至Vmax/2以下,所以需要添加电阻R2、C1使MOS管“慢慢”打开,同时,也缩短Vout由“0”到“1”的上升时间,使由Vout供电的器件能够被可靠的上电复位。
解决方案【2】 以上电路还可以进一步改进,在开关管的输出端串联一个电感,改善这种由于重负载造成的电源突降,如下图。
解决方案【3】 不过,以上方法并不完美,比较好的处理方法是,将MOS开关管前的电压用一路LDO,供应不大的电流给MCU,MOS开关管后面的电压用一路带有使能端的开关DC/DC,供应较大的电流给外围器件,这样能彻底避免由于重负载造成的电源突降。