Makfile编译参数
-i 忽略命令执行返回的出错信息。
-s 沉默模式,在执行之前不输出相应的命令行信息。
-r 禁止使用build-in规则。
-n 非执行模式,输出所有执行命令,但并不执行。
-t 更新目标文件。
-q make操作将根据目标文件是否已经更新返回"0"或非"0"的状态信息。
-p 输出所有宏定义和目标文件描述。
-d Debug模式,输出有关文件和检测时间的详细信息。
Linux下make标志位的常用选项与Unix系统中稍有不同,下面我们只列出了不同部分:
-c dir 在读取 makefile 之前改变到指定的目录dir。
-I dir 当包含其他 makefile文件时,利用该选项指定搜索目录。
-h help文挡,显示所有的make选项。
-w 在处理 makefile 之前和之后,都显示工作目录。
$@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件
elf文件读取
nas和cifs挂载
mount -t nfs -o nolock,soft 10.10.36.252:/dvr/shichaog_nfs /mnt/nfs00/
mount -t cifs -o rsize=4096,wsize=4096,nolock,noac,soft,username="shichaog_cifs",password="shichaog_cifs" "unc=//10.10.36.252/shichaog_cifs" /mnt/nfs02
shell常用语法
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
[ -z STRING ] “STRING” 的长度为零则为真。
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
至于!号那就是取非了呗!
查找文件中包含的字段find . -type f -print|xargs grep -l sync_build_mkcfg
find . -type f | xargs grep
find . -type f | grep
grep -nwR "
find . -type f -print|xargs grep -l sync_build_mkcfg
find . -type f | xargs grep
find . -type f | grep
grep -nwR "
u盘挂载
mount -t vfat /dev/block/sda /mnt/usb3device/
传感器log
logcat -s Sensors HAL SensorService
保存成defconfig
make savedefconfig ARCH=arm64 && mv defconfig arch/arm64/configs/phoenix_defconfig
ubuntu安装嵌入式开发环境
sudo apt-get install gcc-arm-linux-gnueabi lzop libncurses5-dev g++-arm-linux-gnueabi gcc-arm-linux-andriod codeblocks
matlab 启动软opengl
matlab -softwareopengl
命令行切换横竖屏
在无触屏或者无重力传感器时无法横竖屏看视频时,可以使用如下的方式切换横竖屏。
//关闭自动旋转
gsc@gsc-250:~$ adb shell content insert --uri content://settings/system --bind name:s:accelerometer_rotation --bind value:i:0
//横屏观看
gsc@gsc-250:~$ adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1
//竖屏观看 gsc@gsc-250:~$ adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:0
wifi display分辨率设置:
查看当前视频信息
adb shell dumpsys SurfaceFlinger
//7420上修改分辨率后,此库单推可验证
out/target/product/phoenix/system/lib64/hw/hwcomposer.exynos5.so
videoFormats.cpp
const VideoFormats::config_t VideoFormats::mResolutionTable[][32] = {
{
// CEA Resolutions
{ 640, 480, 60, false, 0, 0},
{ 720, 480, 60, false, 0, 0},
{ 720, 480, 60, true, 0, 0},
{ 720, 576, 50, false, 0, 0},
{ 720, 576, 50, true, 0, 0},
{ 1280, 720, 30, false, 0, 0},
{ 1280, 720, 60, false, 0, 0},
{ 1920, 1080, 30, false, 0, 0},
{ 1920, 1080, 60, false, 0, 0},
{ 1920, 1080, 60, true, 0, 0},
{ 1280, 720, 25, false, 0, 0},
{ 1280, 720, 50, false, 0, 0},
{ 1920, 1080, 25, false, 0, 0},
{ 1920, 1080, 50, false, 0, 0},
{ 1920, 1080, 50, true, 0, 0},
{ 1280, 720, 24, false, 0, 0},
{ 1920, 1080, 24, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
},
{
// VESA Resolutions
{ 800, 600, 30, false, 0, 0},
{ 800, 600, 60, false, 0, 0},
{ 1024, 768, 30, false, 0, 0},
{ 1024, 768, 60, false, 0, 0},
{ 1152, 864, 30, false, 0, 0},
{ 1152, 864, 60, false, 0, 0},
{ 1280, 768, 30, false, 0, 0},
{ 1280, 768, 60, false, 0, 0},
{ 1280, 800, 30, false, 0, 0},
{ 1280, 800, 60, false, 0, 0},
{ 1360, 768, 30, false, 0, 0},
{ 1360, 768, 60, false, 0, 0},
{ 1366, 768, 30, false, 0, 0},
{ 1366, 768, 60, false, 0, 0},
{ 1280, 1024, 30, false, 0, 0},
{ 1280, 1024, 60, false, 0, 0},
{ 1400, 1050, 30, false, 0, 0},
{ 1400, 1050, 60, false, 0, 0},
{ 1440, 900, 30, false, 0, 0},
{ 1440, 900, 60, false, 0, 0},
{ 1600, 900, 30, false, 0, 0},
{ 1600, 900, 60, false, 0, 0},
{ 1600, 1200, 30, false, 0, 0},
{ 1600, 1200, 60, false, 0, 0},
{ 1680, 1024, 30, false, 0, 0},
{ 1680, 1024, 60, false, 0, 0},
{ 1680, 1050, 30, false, 0, 0},
{ 1680, 1050, 60, false, 0, 0},
{ 1920, 1200, 30, false, 0, 0},
{ 1920, 1200, 60, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
},
{
// HH Resolutions
{ 800, 480, 30, false, 0, 0},
{ 800, 480, 60, false, 0, 0},
{ 854, 480, 30, false, 0, 0},
{ 854, 480, 60, false, 0, 0},
{ 864, 480, 30, false, 0, 0},
{ 864, 480, 60, false, 0, 0},
{ 640, 360, 30, false, 0, 0},
{ 640, 360, 60, false, 0, 0},
{ 960, 540, 30, false, 0, 0},
{ 960, 540, 60, false, 0, 0},
{ 848, 480, 30, false, 0, 0},
{ 848, 480, 60, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
{ 0, 0, 0, false, 0, 0},
}
};
<WifiDisplaySource.cpp>
WifiDisplaySource::WifiDisplaySource(
const String16 &opPackageName,
const sp<ANetworkSession> &netSession,
const sp<IRemoteDisplayClient> &client,
const char *path)
: mOpPackageName(opPackageName),
mState(INITIALIZED),
mNetSession(netSession),
mClient(client),
mSessionID(0),
mStopReplyID(NULL),
mChosenRTPPort(-1),
mUsingPCMAudio(false),
mClientSessionID(0),
mReaperPending(false),
mNextCSeq(1),
mUsingHDCP(false),
mIsHDCP2_0(false),
mHDCPPort(0),
mHDCPInitializationComplete(false),
mSetupTriggerDeferred(false),
mPlaybackSessionEstablished(false) {
if (path != NULL) {
mMediaPath.setTo(path);
}
mSupportedSourceVideoFormats.disableAll();
mSupportedSourceVideoFormats.setNativeResolution(
VideoFormats::RESOLUTION_CEA, 16); // 1280x720 p30
// Enable all resolutions up to 1280x720p30
mSupportedSourceVideoFormats.enableResolutionUpto(
VideoFormats::RESOLUTION_CEA, 16,
VideoFormats::PROFILE_CHP, // Constrained High Profile
VideoFormats::LEVEL_42); // Level 3.2
}
//分辨率决定的地方<wifi-display/source/WifiDisplaySource.cpp:>
<span style="font-family:Corbel,Sans-Serif;font-size:18px;color:black;"><span style="font-size:14pt;background-color:white;" dir="ltr"><span style="font-family:Arial,Arial;font-size:12px;"><span style="font-size:10pt;"></span></span></span></span><div style="margin-top:5px;margin-bottom:5px;"><span style="font-family:Arial,Arial;">if (!VideoFormats::PickBestFormat(
mSupportedSinkVideoFormats,
mSupportedSourceVideoFormats,
&mChosenVideoResolutionType,
&mChosenVideoResolutionIndex,
&mChosenVideoProfile,
&mChosenVideoLevel)) {
ALOGE("Sink and source share no commonly supported video "
"formats.");</span></div><div style="margin-top:5px;margin-bottom:5px;"><span style="font-family:Arial,Arial;"> return ERROR_UNSUPPORTED;
} </span></div>
连接失败报错
09-08 13:07:55.710 2142 2142 I display : [PrimaryDisplay] [DYNAMIC_RECOMP] GLES_2_HWC by high FPS(33)
09-08 13:07:56.120 2142 5835 I display : [PrimaryDisplay] [DYNAMIC_RECOMP] HWC_2_GLES by low FPS(0)
09-08 13:07:56.670 2587 3007 D AlarmManagerService: Setting time of day to sec=1473340077
09-08 13:07:57.500 3180 3180 V AlarmClock: AlarmInitReceiver android.intent.action.TIME_SET
09-08 13:07:57.540 3180 3424 V AlarmClock: AlarmInitReceiver finished
09-08 13:08:01.890 3255 3255 I wpa_supplicant: p2p-wlan0-1: CTRL-EVENT-DISCONNECTED bssid=06:32:f4:10:e4:75 reason=3
09-08 13:08:01.900 3255 3255 I wpa_supplicant: p2p-wlan0-1: CTRL-EVENT-DISCONNECTED bssid=06:32:f4:10:e4:75 reason=3 locally_generated=1
09-08 13:08:01.900 3255 3255 I wpa_supplicant: P2P-GROUP-REMOVED p2p-wlan0-1 client reason=GO_ENDING_SESSION
09-08 13:08:01.920 2273 2567 D CommandListener: Clearing all IP addresses on p2p-wlan0-1
09-08 13:08:01.920 2278 6331 E NetworkSession: readMore on socket 22 failed w/ error -110 (Connection timed out)
09-08 13:08:01.920 2278 6332 E WifiDisplaySource: An error occurred in session 2 (-110, 'Recv failed./Connection timed out').
09-08 13:08:01.920 2587 2608 I WifiDisplayController: Lost RTSP connection with Wifi display due to error 1: MP-CL1_75
09-08 13:08:01.920 2587 2608 I WifiDisplayController: Wifi display connection failed!
09-08 13:08:01.920 2587 2645 D NetUtils: android_net_utils_resetConnections in env=0x7f8c53c100 clazz=0x7f815f9cc4 iface=p2p-wlan0-1 mask=0x3
09-08 13:08:01.940 2278 6331 E NetworkSession: Send datagram failed, 199/200 retries left
09-08 13:08:01.940 2278 6331 E NetworkSession: Send datagram failed, 198/200 retries left
首先安装sun1.6,这里我安装的目录是/usr/java/jdk1.6.0_45
然后设置profile文件/etc/profile(文件的末尾添加该文件)
sudo vim /etc/profile
- export JAVA_HOME=/usr/java/jdk1.6.0_45
- export JRE_HOME=/usr/java/jdk1.6.0_45/jre
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
然后安装openjdk1.7,在software center中可以进行安装,安装完毕后执行如下命令:
- gsc@gsc-250:~$ sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_45/bin/java 300
- gsc@gsc-250:~$ sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_45/bin/javac 300
- gsc@gsc-250:~$ sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/java/jdk1.6.0_45/bin/javadoc 300
- gsc@gsc-250:~$ sudo update-alternatives --install /usr/bin/javap javap /usr/java/jdk1.6.0_45/bin/javap 300
使用如下命令切换:
- gsc@gsc-250:~/my_carreer/webrtc-checkout$ sudo update-alternatives --config java
- There are 2 choices for the alternative java (providing /usr/bin/java).
- Selection Path Priority Status
- ------------------------------------------------------------
- 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode
- 1 /usr/java/jdk1.6.0_45/bin/java 300 manual mode
- * 2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
- Press enter to keep the current choice[*], or type selection number:
- 查看当前java版本:
- <pre name="code" class="html">gsc@gsc-250:~/my_carreer/webrtc-checkout$ java -version
- java version "1.7.0_85"
- OpenJDK Runtime Environment (IcedTea 2.6.1) (7u85-2.6.1-5ubuntu0.14.04.1)
- OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode)