不错,看看我多少分了。。。
memory 发布的最佳帖子
-
芒果派麻雀到手试玩
麻雀购买链接: https://item.taobao.com/item.htm?id=638644511420
麻雀购买链接: https://item.taobao.com/item.htm?id=638644511420
麻雀购买链接: https://item.taobao.com/item.htm?id=638644511420
PDF原理图: MQ_SCH_v1.5_量产版_带网络.pdf
BOM表(秀!):
https://mangopi.org/_media/zh/mq_v1.5_bom.html
SDK修改方法与固件下载(非官方玩法):
简单修改 哪吒d1 tina sdk 的 sys_config.fex 和 board.dts,让D1s先把Linux跑起来。
https://bbs.aw-ol.com/topic/384/share/2 -
回复: 公司垃圾堆翻出来的F1C200s + EP952 板子
[update_key] key_type = 1 key_value0 = 0 port0 = 1 port_num0 = 1 key_value1 = 0 port1 = 1 port_num1 = 1 key_value2 = 0 port2 = 1 port_num2 = 2 [bt_para] bt_name = "AMMT" bt_pin = "0000" bt_mic_vol = 40 [target] debugenable = 0 storage_mode = 0 boot_clock = 408 core_vol = 1100 [product] eraseflag = 0 jtag = 0 [card_boot] logical_start = 40960 [card_boot0_para] card_ctrl = 0 card_high_speed = 1 card_line = 1 SDC_CLK = port:PF02<2><1><1><1> SDC_CMD = port:PF03<2><1><1><1> SDC_D0 = port:PF01<2><1><1><1> SDC_D1 = port:PF00<2><1><1><1> SDC_D2 = port:PF05<2><1><1><1> SDC_D3 = port:PF04<2><1><1><1> [iis_para] IIS_BCLK = port:PE03<4><1><1><1> IIS_LRCK = port:PE04<4><1><1><1> IIS_DO0 = port:PE06<4><1><1><1> [twi_para] twi_port = 0 twi_scl = port:PA06<2><1><1><default> twi_sda = port:PA07<2><1><1><default> [simu_para] uart_io_used = 1 uart_io_tx = port:PA00<3><1><1><default> [jtag_para] jtag_enable = 0 [twi0_para] twi0_used = 0 twi_scl = port:PE11<3><1><1><1> twi_sda = port:PE12<3><1><1><1> [twi1_para] twi1_used = 0 twi1_scl = port:PB00<3><1><1><1> twi1_sda = port:PB01<3><1><1><1> [twi2_para] twi2_used = 1 twi2_scl = port:PE00<4><1><1><1> twi2_sda = port:PE01<4><1><1><1> [uart_para0] uart_used = 0 uart_port = 0 uart_type = 2 uart_debug_tx = port:PE01<5><1><1><default> uart_debug_rx = port:PE00<5><1><1><default> [uart_para1] uart_used = 0 uart_port = 1 uart_type = 2 [uart_para2] uart_used = 1 uart_port = 2 uart_type = 2 uart_debug_tx = port:PE07<3><1><1><default> uart_debug_rx = port:PE08<3><1><1><default> [power_para] power_used = 0 power_msg = 56 power_twi = 0 adc_exp = 1027 [rtc_para] rtc_exist = 0 inner_timer = 1 [display_mode] pvp_mode = 1 [tvout_para] tv_en = port:PC11<1><2><1><1> [auto_test_para] auto_test_enable = 0 [matrixkey_para] period = 5 pw_off_time = 2000 row_num = 2 [dsa_para] DSA_USED = 0 [sddet_para] detect_pin = port:PF04<0><1><1><1> [sdcard_global] used_card_no = 1 [pwm0_para] pwm0 = port:PE12<4><0><1><1> [pwm1_para] pwm1 = port:PF05<4><0><1><1> [sdcard0_para] bus_width = 1 SDC_CLK = port:PF02<2><1><1><1> SDC_CMD = port:PF03<2><1><1><1> SDC_D0 = port:PF01<2><1><1><1> [sdcard1_para] bus_width = 1 SDC_CLK = port:PC00<3><1><1><1> SDC_CMD = port:PC01<3><1><1><1> SDC_D0 = port:PC02<3><1><1><1> [audio_para] hp_driver_need = 1 PA_SHDN = port:PC09<1><1><1><1> [tp_para] if_reverse = 1 [spi_global] spi_used = 1 [spi0_para] spi_cs_bitmap = 1 SPI_CS0 = port:PC01<2><1><1><1> SPI_CLK = port:PC00<2><1><1><1> SPI_MOSI = port:PC03<2><1><1><1> SPI_MISO = port:PC02<2><1><1><1> [ir_para] IR_RX = port:PF00<4><1><1><1> [lcd0_para] lcd_power_used = 0 lcd_bl_en_used = 0 lcd_pwm_used = 0 lcdd2 = port:PD00<2><1><3><1> lcdd3 = port:PD01<2><1><3><1> lcdd4 = port:PD02<2><1><3><1> lcdd5 = port:PD03<2><1><3><1> lcdd6 = port:PD04<2><1><3><1> lcdd7 = port:PD05<2><1><3><1> lcdd10 = port:PD06<2><1><3><1> lcdd11 = port:PD07<2><1><3><1> lcdd12 = port:PD08<2><1><3><1> lcdd13 = port:PD09<2><1><3><1> lcdd14 = port:PD10<2><1><3><1> lcdd15 = port:PD11<2><1><3><1> lcdd18 = port:PD12<2><1><3><1> lcdd19 = port:PD13<2><1><3><1> lcdd20 = port:PD14<2><1><3><1> lcdd21 = port:PD15<2><1><3><1> lcdd22 = port:PD16<2><1><3><1> lcdd23 = port:PD17<2><1><3><1> lcdclk = port:PD18<2><1><3><1> lcdde = port:PD19<2><1><3><1> lcdhsync = port:PD20<2><1><3><1> lcdvsync = port:PD21<2><1><3><1> [csi0_para] [usb_para] usb_global_enable = 1 usbc_num = 1 mode = 1 [usbc0] usb_enable = 1 usb_port_type = 2 usb_detect_type = 3 [dram_para] baseaddr = -2147483648 size = 0 clk = 156 access_mode = 1 cs_num = 1 ddr8_remap = 0 sdr_ddr = 1 bwidth = 16 col_width = 10 row_width = 13 bank_size = 4 cas = 3 [standby_eint_para] [display] out_type = 0 lcd_swap = 0 lcd_x = 800 lcd_y = 480 lcd_dclk_div = 8 sta_dly = 10 lcd_basic_valid = 0 lcd_uf = 0 lcd_vt = 1050 lcd_ht = 1055 lcd_vbp = 34 lcd_hbp = 215 lcd_if = 0 lcd_hv_if = 0 lcd_hv_smode = 0 lcd_hv_s888_if = 0 lcd_hv_syuv_if = 0 lcd_hv_vspw = 0 lcd_hv_hspw = 0 lcd_hv_lde_used = 0 lcd_hv_lde_iovalue = 0 lcd_cpu_if = 0 lcd_io_cfg0 = 67108864 lcd_io_cfg1 = 0 [spinor_para] spinor_patten_num = 5 [spinor0] rdid = 1450178 capaticy = 32 freq_read = 33000000 freq = 86000000 [spinor1] rdid = 4627839 capaticy = 32 freq_read = 10000000 freq = 50000000 [spinor2] rdid = 1581250 capaticy = 128 freq_read = 33000000 freq = 86000000 [spinor3] rdid = 1515714 capaticy = 64 freq_read = 33000000 freq = 86000000 [spinor4] rdid = 1581250 capaticy = 128 freq_read = 33000000 freq = 86000000 [power] Battery_cap = 2200 Discharge_rate = 10 [boot_extend] hold_key_min = -268435456 hold_key_max = -268435456 vol_threshold = 3500 [modupdate] reset = 1 [mbr] size = 1 [part_num] num = 1 [partition0] class_name = "000" name = "000" size_hi = 0 size_lo = 3823 [down_num] down_num = 1 [download0] part_name = "000" pkt_name = "000000000" verify_file = "000000000" encrypt = 0
这是fex文件,免得用万用表去量引脚了。
-
回复: 【FAQ】全志D1芯片 如何在tina使用tplayerdemo 进行rtsp拉流说明?
rtsp://1.116.32.155/media/test.mp4
小白请教一下,这个怎么自己搭建呢?
-
回复: Sipeed Lichee RV 86 Panel 智能家居 中控开发板 支持Linux WAFT
rate_lavcrate.c: In function 'pcm_src_init': rate_lavcrate.c:96:19: warning: implicit declaration of function 'av_resample_init'; did you mean 'av_get_sample_fmt'? [-Wimplicit-function-declaration] rate->context = av_resample_init(info->out.rate, info->in.rate, ^~~~~~~~~~~~~~~~ av_get_sample_fmt rate_lavcrate.c:96:17: warning: assignment to 'struct AVResampleContext *' from 'int' makes pointer from integer without a cast [-Wint-conversion] rate->context = av_resample_init(info->out.rate, info->in.rate, ^ rate_lavcrate.c: In function 'pcm_src_convert_s16': rate_lavcrate.c:186:9: warning: implicit declaration of function 'av_resample'; did you mean 'av_rescale'? [-Wimplicit-function-declaration] ret = av_resample(rate->context, rate->out[i], ^~~~~~~~~~~ av_rescale rate_lavcrate.c:194:2: warning: implicit declaration of function 'av_resample_compensate'; did you mean 'av_get_sample_fmt_name'? [-Wimplicit-function-declaration] av_resample_compensate(rate->context, ^~~~~~~~~~~~~~~~~~~~~~ av_get_sample_fmt_name mv -f .deps/rate_lavcrate.Tpo .deps/rate_lavcrate.Plo /bin/bash ../libtool --tag=CC --mode=link riscv64-unknown-linux-gnu-gcc -Wall -g -I/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/usr/include -I/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/usr/include/alsa -I/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/usr/include -DAVCODEC_HEADER="<libavcodec/avcodec.h>" -Os -pipe -mcmodel=medany -mabi=lp64d -march=rv64gcxthead -g3 -fno-caller-saves -Wno-format-truncation -Wno-unused-result -Wl,-z,now -Wl,-z,relro -fpic -pthread -module -avoid-version -export-dynamic -no-undefined -Wl,--no-undefined -L/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/usr/lib -L/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/lib -L/opt/D1/home/nihao/sdk/tina-d1-open_new/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/usr/lib -L/opt/D1/home/nihao/sdk/tina-d1-open_new/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/lib -znow -zrelro -lm -ldl -o libasound_module_rate_lavcrate.la -rpath /usr/lib/alsa-lib rate_lavcrate.lo -L/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/usr/lib -lasound -L/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/usr/lib -lavcodec -lavutil -lasound OpenWrt-libtool: link: riscv64-unknown-linux-gnu-gcc -shared -fPIC -DPIC .libs/rate_lavcrate.o -L/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/usr/lib -L/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/lib -L/opt/D1/home/nihao/sdk/tina-d1-open_new/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/usr/lib -L/opt/D1/home/nihao/sdk/tina-d1-open_new/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/lib -lm -ldl -lavcodec -lavutil -lasound -Os -mcmodel=medany -mabi=lp64d -march=rv64gcxthead -Wl,-z -Wl,now -Wl,-z -Wl,relro -pthread -Wl,--no-undefined -pthread -Wl,-soname -Wl,libasound_module_rate_lavcrate.so -o .libs/libasound_module_rate_lavcrate.so /opt/D1/home/nihao/sdk/tina-d1-open_new/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/bin/../lib/gcc/riscv64-unknown-linux-gnu/8.1.0/../../../../riscv64-unknown-linux-gnu/bin/ld: .libs/rate_lavcrate.o: in function `pcm_src_convert_s16': /opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/compile_dir/target/alsa-plugins-1.1.4/rate-lavc/rate_lavcrate.c:194: undefined reference to `av_resample_compensate' /opt/D1/home/nihao/sdk/tina-d1-open_new/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/bin/../lib/gcc/riscv64-unknown-linux-gnu/8.1.0/../../../../riscv64-unknown-linux-gnu/bin/ld: /opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/compile_dir/target/alsa-plugins-1.1.4/rate-lavc/rate_lavcrate.c:187: undefined reference to `av_resample' /opt/D1/home/nihao/sdk/tina-d1-open_new/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/bin/../lib/gcc/riscv64-unknown-linux-gnu/8.1.0/../../../../riscv64-unknown-linux-gnu/bin/ld: .libs/rate_lavcrate.o: in function `pcm_src_free': /opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/compile_dir/target/alsa-plugins-1.1.4/rate-lavc/rate_lavcrate.c:51: undefined reference to `av_resample_close' /opt/D1/home/nihao/sdk/tina-d1-open_new/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/bin/../lib/gcc/riscv64-unknown-linux-gnu/8.1.0/../../../../riscv64-unknown-linux-gnu/bin/ld: .libs/rate_lavcrate.o: in function `pcm_src_init': /opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/compile_dir/target/alsa-plugins-1.1.4/rate-lavc/rate_lavcrate.c:91: undefined reference to `av_resample_init' collect2: error: ld returned 1 exit status Makefile:419: recipe for target 'libasound_module_rate_lavcrate.la' failed make[6]: *** [libasound_module_rate_lavcrate.la] Error 1 make[6]: Leaving directory '/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/compile_dir/target/alsa-plugins-1.1.4/rate-lavc' Makefile:431: recipe for target 'all-recursive' failed make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory '/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/compile_dir/target/alsa-plugins-1.1.4' Makefile:363: recipe for target 'all' failed make[4]: *** [all] Error 2 make[4]: Leaving directory '/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/compile_dir/target/alsa-plugins-1.1.4' Makefile:89: recipe for target '/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/compile_dir/target/alsa-plugins-1.1.4/.built' failed make[3]: *** [/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/compile_dir/target/alsa-plugins-1.1.4/.built] Error 2 make[3]: Leaving directory '/opt/D1/home/nihao/sdk/tina-d1-open_new/package/libs/alsa-plugins' package/Makefile:192: recipe for target 'package/libs/alsa-plugins/compile' failed make[2]: *** [package/libs/alsa-plugins/compile] Error 2 make[2]: Leaving directory '/opt/D1/home/nihao/sdk/tina-d1-open_new' package/Makefile:189: recipe for target '/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/stamp/.package_compile' failed make[1]: *** [/opt/D1/home/nihao/sdk/tina-d1-open_new/out/d1-nezha/staging_dir/target/stamp/.package_compile] Error 2 make[1]: Leaving directory '/opt/D1/home/nihao/sdk/tina-d1-open_new' Build failed - please re-run with -j1 to see the real error message /opt/D1/home/nihao/sdk/tina-d1-open_new/build/toplevel.mk:304: recipe for target 'world' failed make: *** [world] Error 1 #### make failed to build some targets (39:16 (mm:ss)) #### ubuntu:/opt/D1/home/nihao/sdk/tina-d1-open_new$
编译出错了。
-
回复: 请问如何用命令行调整背光亮度?
@jr_online 在 请问如何用命令行调整背光亮度? 中说:
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg;#背光0
echo lcd0 > name; echo setbl > command; echo 0 > param; echo 1 > start#背光255
echo lcd0 > name; echo setbl > command; echo 255 > param; echo 1 > startA133 调整背光成功。
-
回复: Android10 制作完全Root版本,A133平台验证通过
1.修改/aosp/system/extras/su/su.cpp
// 注释掉第83-84行 // uid_t current_uid = getuid(); // if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "not allowed");
2.修改/aosp/system/core/libcutils/fs_config.cpp
// the following files have enhanced capabilities and ARE included // in user builds. // 添加下面代码至212行处,注意标点符号不要漏掉 { 06755, AID_ROOT, AID_ROOT, 0, "system/bin/su" }
- 修改/aosp/frameworks/base/core/jni/com_android_internal_os_Zygote.cpp
// 修改542行处,注释掉DropCapabilitiesBoundingSet方法体 static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) { // for (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {; // if (prctl(PR_CAPBSET_DROP, i, 0, 0, 0) == -1) { // if (errno == EINVAL) { // ALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify " // "your kernel is compiled with file capabilities support"); // } else { // fail_fn(CREATE_ERROR("prctl(PR_CAPBSET_DROP, %d) failed: %s", i, strerror(errno))); // } // } // } }
- 修改/aosp/system/core/adb/daemon/main.cpp
// 修改should_drop_capabilities_bounding_set返回false static bool should_drop_capabilities_bounding_set() { if (ALLOW_ADBD_ROOT || is_device_unlocked()) { if (__android_log_is_debuggable()) { return false; } } // return true; return false; }
- 修改/aosp/system/core/init/selinux.cpp
// 修改IsEnforcing方法返回false, 注释掉StatusFromCmdline方法 // EnforcingStatus StatusFromCmdline() { // EnforcingStatus status = SELINUX_ENFORCING; // import_kernel_cmdline(false, // [&](const std::string& key, const std::string& value, bool in_qemu) { // if (key == "androidboot.selinux" && value == "permissive") { // status = SELINUX_PERMISSIVE; // } // }); // return status; // } bool IsEnforcing() { // if (ALLOW_PERMISSIVE_SELINUX) { // return StatusFromCmdline() == SELINUX_ENFORCING; // } // return true; return false; }
-
请问大家 D1 的 TV 输出可以用吗?
tina 1.0
执行
cd /sys/kernel/debug/dispdbg
echo disp0 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;
出错:
root@TinaLinux:/sys/kernel/debug/dispdbg# root@TinaLinux:/sys/kernel/debug/dispdbg# root@TinaLinux:/sys/kernel/debug/dispdbg# cd /sys/kernel/debug/dispdbg root@TinaLinux:/sys/kernel/debug/dispdbg# echo disp0 > name; echo switch1 > comm and; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start; [ 1262.544174] disp:0 type:4 mode:10 format:0 bits:0 eotf:4 cs:257 ouputmode:0 range:0 scan:0 aspect_ratio:8 [ 1262.655370] ------------[ cut here ]------------ [ 1262.660521] tcon-tv already disabled [ 1262.664547] WARNING: CPU: 0 PID: 125 at drivers/clk/clk.c:960 clk_core_disable+0x80/0x84 [ 1262.673566] Modules linked in: xt_time xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG xr829 iptable_filter ipt_REJECT uvcvideo videobuf2_vmalloc videobuf2_memops fuse [ 1262.691919] CPU: 0 PID: 125 Comm: ash Tainted: G W 5.4.61 #376 [ 1262.699872] sepc: ffffffe0002ad182 ra : ffffffe0002ad182 sp : ffffffe03bdebbf0 [ 1262.707921] gp : ffffffe0008d332c tp : ffffffe03d86eb80 t0 : ffffffe0008e1ad0 [ 1262.715970] t1 : 0000000000000064 t2 : 0000000000000000 s0 : ffffffe03bdebc10 [ 1262.724019] s1 : ffffffe03d805900 a0 : 0000000000000018 a1 : 000000000000000a [ 1262.732068] a2 : 000000000000010c a3 : ffffffe000840ea0 a4 : ffffffe000840e08 [ 1262.740118] a5 : 0000000000000001 a6 : 00000000000001e2 a7 : 0000000000000000 [ 1262.748167] s2 : ffffffe03d805900 s3 : ffffffe03ceba800 s4 : ffffffe03d9ce800 [ 1262.756214] s5 : ffffffe03ce8ad00 s6 : ffffffe03bdebe98 s7 : 0000000000000007 [ 1262.764262] s8 : 0000000000000000 s9 : 0000000029a03d50 s10: ffffffffffffffff [ 1262.772311] s11: 000000000000002d t3 : ffffffe0008dcb00 t4 : 0000000000001df8 [ 1262.780359] t5 : 0000000000001df8 t6 : ffffffe0008dd07f [ 1262.786276] sstatus: 0000000200000100 sbadaddr: 0000000000000000 scause: 0000000000000003 [ 1262.795389] ---[ end trace 999517c0954d9de5 ]--- [ 1262.800969] ------------[ cut here ]------------ [ 1262.806237] tcon-tv already unprepared [ 1262.810578] WARNING: CPU: 0 PID: 125 at drivers/clk/clk.c:819 clk_core_unprepare+0xb4/0xce [ 1262.820017] Modules linked in: xt_time xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG xr829 iptable_filter ipt_REJECT uvcvideo videobuf2_vmalloc videobuf2_memops fuse [ 1262.838654] CPU: 0 PID: 125 Comm: ash Tainted: G W 5.4.61 #376 [ 1262.846722] sepc: ffffffe0002ad0e8 ra : ffffffe0002ad0e8 sp : ffffffe03bdebc00 [ 1262.855046] gp : ffffffe0008d332c tp : ffffffe03d86eb80 t0 : 0000000000000000 [ 1262.863199] t1 : 0000000001806000 t2 : 0000000000000000 s0 : ffffffe03bdebc20 [ 1262.871444] s1 : ffffffe03d805900 a0 : 000000000000001a a1 : ffffffe03d86eb80 [ 1262.879616] a2 : 0000000000000890 a3 : ffffffe00083ff40 a4 : ffffffe000840e08 [ 1262.887932] a5 : 0000000000000000 a6 : 00000000000100ce a7 : 0000000000000065 [ 1262.896096] s2 : ffffffe03ceba400 s3 : ffffffe03ceba800 s4 : ffffffe03d9ce800 [ 1262.904411] s5 : ffffffe03ce8ad00 s6 : ffffffe03bdebe98 s7 : 0000000000000007 [ 1262.912512] s8 : 0000000000000000 s9 : 0000000029a03d50 s10: ffffffffffffffff [ 1262.920818] s11: 000000000000002d t3 : 0000003fd042dcc0 t4 : 0000000000000000 [ 1262.929098] t5 : 0000000000000008 t6 : 0000000000040000 [ 1262.935306] sstatus: 0000000200000120 sbadaddr: 0000000000000000 scause: 0000000000000003 [ 1262.944520] ---[ end trace 999517c0954d9de6 ]--- [ 1262.949873] ------------[ cut here ]------------ [ 1262.955024] bus-tcon-tv already disabled [ 1262.959436] WARNING: CPU: 0 PID: 125 at drivers/clk/clk.c:960 clk_core_disable+0x80/0x84 [ 1262.968455] Modules linked in: xt_time xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG xr829 iptable_filter ipt_REJECT uvcvideo videobuf2_vmalloc videobuf2_memops fuse [ 1262.986810] CPU: 0 PID: 125 Comm: ash Tainted: G W 5.4.61 #376 [ 1262.994762] sepc: ffffffe0002ad182 ra : ffffffe0002ad182 sp : ffffffe03bdebbf0 [ 1263.002811] gp : ffffffe0008d332c tp : ffffffe03d86eb80 t0 : ffffffe0008e2720 [ 1263.010860] t1 : 0000000000000064 t2 : 0000000000000000 s0 : ffffffe03bdebc10 [ 1263.018910] s1 : ffffffe03d805b00 a0 : 000000000000001c a1 : 000000000000000a [ 1263.026958] a2 : 0000000000000139 a3 : ffffffe000840ea0 a4 : ffffffe000840e08 [ 1263.035004] a5 : 0000000000000001 a6 : 0000000000000206 a7 : 0000000000000000 [ 1263.043052] s2 : ffffffe03d805b00 s3 : ffffffe03ceba800 s4 : ffffffe03d9ce800 [ 1263.051101] s5 : ffffffe03ce8ae00 s6 : ffffffe03bdebe98 s7 : 0000000000000007 [ 1263.059148] s8 : 0000000000000000 s9 : 0000000029a03d50 s10: ffffffffffffffff [ 1263.067197] s11: 000000000000002d t3 : ffffffe0008dcb00 t4 : 00000000000011b0 [ 1263.075245] t5 : 00000000000011b0 t6 : ffffffe0008dd083 [ 1263.081162] sstatus: 0000000200000100 sbadaddr: 0000000000000000 scause: 0000000000000003 [ 1263.090277] ---[ end trace 999517c0954d9de7 ]--- [ 1263.099349] ------------[ cut here ]------------ [ 1263.104618] bus-tcon-tv already unprepared [ 1263.109450] WARNING: CPU: 0 PID: 125 at drivers/clk/clk.c:819 clk_core_unprepare+0xb4/0xce [ 1263.118793] Modules linked in: xt_time xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG xr829 iptable_filter ipt_REJECT uvcvideo videobuf2_vmalloc videobuf2_memops fuse [ 1263.137506] CPU: 0 PID: 125 Comm: ash Tainted: G W 5.4.61 #376 [ 1263.145566] sepc: ffffffe0002ad0e8 ra : ffffffe0002ad0e8 sp : ffffffe03bdebc00 [ 1263.162959] gp : ffffffe0008d332c tp : ffffffe03d86eb80 t0 : 0000000000000000 [ 1263.181267] t1 : 0000000001806000 t2 : 0000000000000000 s0 : ffffffe03bdebc20 [ 1263.191410] s1 : ffffffe03d805b00 a0 : 000000000000001e a1 : ffffffe03d86eb80 [ 1263.211686] a2 : 0000000000000890 a3 : ffffffe00083ff40 a4 : ffffffe000840e08 [ 1263.223073] a5 : 0000000000000000 a6 : 00000000000100ce a7 : 0000000000000065 [ 1263.231128] s2 : ffffffe03ceba400 s3 : ffffffe03ceba800 s4 : ffffffe03d9ce800 [ 1263.257502] s5 : ffffffe03ce8ae00 s6 : ffffffe03bdebe98 s7 : 0000000000000007 [ 1263.265774] s8 : 0000000000000000 s9 : 0000000029a03d50 s10: ffffffffffffffff [ 1263.274004] s11: 000000000000002d t3 : 0000003fd042dcc0 t4 : 0000000000000000 [ 1263.282199] t5 : 0000000000000008 t6 : 0000000000040000 [ 1263.288299] sstatus: 0000000200000120 sbadaddr: 0000000000000000 scause: 0000000000000003 [ 1263.297616] ---[ end trace 999517c0954d9de8 ]--- [ 1263.322998] [HDMI receive params]: tv mode: 0xa format:0x0 data bits:0x0 eotf:0x4 cs:0x101 dvi_hdmi:2 range:0 scan:0 aspect_ratio:8 [ 1264.402987] disp_al_manager_apply ouput_type:0 [ 1264.408371] disp_al_hdmi_cfg [ 1264.523781] HDMI Audio Enable Successfully [ 1264.528533] [DISP] disp_device_attached_and_enable,line:233: [ 1264.528539] attached ok, mgr0<-->dev0 [ 1264.539215] [DISP] disp_device_attached_and_enable,line:236: [ 1264.539226] type:4,mode:10,fmt:rgb,bits:8bits,eotf:4,cs:257 dvi_hdmi:2, range:0 scan:0 ratio:8 root@TinaLinux:/sys/kernel/debug/dispdbg#
-
回复: 请问大家 D1 的 TV 输出可以用吗?
修改 device/config/chips/d1-h/configs/nezha/linux-5.4/config-5.4
勾选:
CONFIG_TV_DISP2_SUNXI=y
发现编译都过不了:
make[4]: Entering directory '/opt/D1/tina_d1_open_v2/lichee/linux-5.4' INSTALL /opt/D1/tina_d1_open_v2/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/linux-5.4.61/user_headers/include make[4]: Leaving directory '/opt/D1/tina_d1_open_v2/lichee/linux-5.4' . /opt/D1/tina_d1_open_v2/build/shell.sh; grep '=[ym]' /opt/D1/tina_d1_open_v2/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/linux-5.4.61/.config.set | LC_ALL=C sort | md5s > /opt/D1/tina_d1_open_v2/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/linux-5.4.61/.vermagic touch /opt/D1/tina_d1_open_v2/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/linux-5.4.61/.configured rm -f /opt/D1/tina_d1_open_v2/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/symtab.h touch /opt/D1/tina_d1_open_v2/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/symtab.h make -C /opt/D1/tina_d1_open_v2/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/linux-5.4.61 HOSTCFLAGS="-O2 -I/opt/D1/tina_d1_open_v2/out/host/include -I/opt/D1/tina_d1_open_v2/out/host/usr/include -Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="riscv64-unknown-linux-gnu-" ARCH="riscv" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" CONFIG_SHELL="bash" V='' EXTRA_LDSFLAGS="-I/opt/D1/tina_d1_open_v2/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha -include symtab.h" CC="riscv64-unknown-linux-gnu-gcc" vmlinux make[4]: Entering directory '/opt/D1/tina_d1_open_v2/lichee/linux-5.4' scripts/Makefile.asm-generic:25: redundant generic-y found in arch/riscv/include/asm/Kbuild: device.h CALL scripts/checksyscalls.sh CALL scripts/atomic/check-atomics.sh CHK include/generated/compile.h CC drivers/video/fbdev/sunxi/disp2/tv/drv_tv.o In file included from drivers/video/fbdev/sunxi/disp2/tv/drv_tv.c:15: drivers/video/fbdev/sunxi/disp2/tv/drv_tv.h:15:10: fatal error: asm/memory.h: No such file or directory #include <asm/memory.h> ^~~~~~~~~~~~~~ compilation terminated. scripts/Makefile.build:286: recipe for target 'drivers/video/fbdev/sunxi/disp2/tv/drv_tv.o' failed make[9]: *** [drivers/video/fbdev/sunxi/disp2/tv/drv_tv.o] Error 1 scripts/Makefile.build:556: recipe for target 'drivers/video/fbdev/sunxi/disp2/tv' failed make[8]: *** [drivers/video/fbdev/sunxi/disp2/tv] Error 2 scripts/Makefile.build:556: recipe for target 'drivers/video/fbdev/sunxi' failed make[7]: *** [drivers/video/fbdev/sunxi] Error 2 scripts/Makefile.build:556: recipe for target 'drivers/video/fbdev' failed make[6]: *** [drivers/video/fbdev] Error 2 scripts/Makefile.build:556: recipe for target 'drivers/video' failed make[5]: *** [drivers/video] Error 2 Makefile:1810: recipe for target 'drivers' failed make[4]: *** [drivers] Error 2 make[4]: Leaving directory '/opt/D1/tina_d1_open_v2/lichee/linux-5.4' Makefile:28: recipe for target '/opt/D1/tina_d1_open_v2/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/symtab.h' failed make[3]: *** [/opt/D1/tina_d1_open_v2/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/symtab.h] Error 2 make[3]: Leaving directory '/opt/D1/tina_d1_open_v2/target/allwinner/d1-h-nezha' Makefile:13: recipe for target 'install' failed make[2]: *** [install] Error 2 make[2]: Leaving directory '/opt/D1/tina_d1_open_v2/target/allwinner' target/Makefile:21: recipe for target 'target/allwinner/install' failed make[1]: *** [target/allwinner/install] Error 2 make[1]: Leaving directory '/opt/D1/tina_d1_open_v2' /opt/D1/tina_d1_open_v2/build/toplevel.mk:304: recipe for target 'target/allwinner/install' failed make: *** [target/allwinner/install] Error 2 #### make failed to build some targets (47 seconds) #### memory@ubuntu:/opt/D1/tina_d1_open_v2$
TV OUT 支持应该是不行的。
-
D1 哪吒解码视频文件测试
① 准备视频文件
用 adb push binghe.mp4 /tmp 下载到系统
② 执行命令 decodertest /tmp/binghe.mp4 /tmp 0 NV21 2 100 解码100帧:
root@TinaLinux:/# decodertest /tmp/binghe.mp4 /tmp 0 NV21 2 100 WARNING: awplayer <cdx_log_set_level:30>: cdx Set log level to 6 INFO : cedarc <CedarPluginVDInit:79>: register h264 decoder success! INFO : cedarc <CedarPluginVDInit:84>: register mjpeg decoder success! INFO : cedarc <CedarPluginVDInit:86>: register mpeg2 decoder success! INFO : cedarc <CedarPluginVDInit:92>: register mpeg4dx decoder success! INFO : cedarc <CedarPluginVDInit:79>: register mpeg4H263 [18061.266585] VE: VE real_freq=576000000 [18061.266585] decoder success! INFO : cedarc <CedarPluginVDInit:90>: register mpeg4Normal decoder success! INFO : cedarc <CedarPluginVDInit:74>: register vc1 decoder success! INFO : cedarc <CedarPluginVDInit:85>: register h265 decoder success! INFO : cedarc <VeInitialize:1307>: *** ic_version = 0x1301000010210, before strcpy(tmpUrl, url) before CdxParserPrepare() file:///tmp/binghe.mp4 before CdxParserGetMediaInfo() before CreateVideoDecoder() INFO : cedarc <log_set_level:43>: Set log level to 5 from /vendor/etc/cedarc.conf ERROR : cedarc <DebugCheckConfig:301>: now cedarc log level:5 before InitializeVideoDecoder() after InitializeVideoDecoder() initDecoder OK decoder input file: file:///tmp/binghe.mp4 decoder output directory: /tmp output pixel format: NV21 DecodeThread(), thread created parserThreadFunc(), thread created parser exit..... data trunk number: 182, i = 101 DecodeThread() Decode Video Stream start .... RequestPicture fail save /tmp/decodeNV21_1280_720_0.yuv finish save /tmp/decodeNV21_1280_720_1.yuv finish save /tmp/decodeNV21_1280_720_2.yuv finish save /tmp/decodeNV21_1280_720_3.yuv finish save /tmp/decodeNV21_1280_720_4.yuv finish save /tmp/decodeNV21_1280_720_5.yuv finish save /tmp/decodeNV21_1280_720_6.yuv finish save /tmp/decodeNV21_1280_720_7.yuv finish save /tmp/decodeNV21_1280_720_8.yuv finish save /tmp/decodeNV21_1280_720_9.yuv finish save /tmp/decodeNV21_1280_720_10.yuv finish save /tmp/decodeNV21_1280_720_11.yuv finish save /tmp/decodeNV21_1280_720_12.yuv finish save /tmp/decodeNV21_1280_720_13.yuv finish save /tmp/decodeNV21_1280_720_14.yuv finish save /tmp/decodeNV21_1280_720_15.yuv finish save /tmp/decodeNV21_1280_720_16.yuv finish save /tmp/decodeNV21_1280_720_17.yuv finish save /tmp/decodeNV21_1280_720_18.yuv finish save /tmp/decodeNV21_1280_720_19.yuv finish save /tmp/decodeNV21_1280_720_20.yuv finish save /tmp/decodeNV21_1280_720_21.yuv finish save /tmp/decodeNV21_1280_720_22.yuv finish save /tmp/decodeNV21_1280_720_23.yuv finish save /tmp/decodeNV21_1280_720_24.yuv finish save /tmp/decodeNV21_1280_720_25.yuv finish save /tmp/decodeNV21_1280_720_26.yuv finish save /tmp/decodeNV21_1280_720_27.yuv finish save /tmp/decodeNV21_1280_720_28.yuv finish save /tmp/decodeNV21_1280_720_29.yuv finish save /tmp/decodeNV21_1280_720_30.yuv finish save /tmp/decodeNV21_1280_720_31.yuv finish save /tmp/decodeNV21_1280_720_32.yuv finish save /tmp/decodeNV21_1280_720_33.yuv finish save /tmp/decodeNV21_1280_720_34.yuv finish save /tmp/decodeNV21_1280_720_35.yuv finish save /tmp/decodeNV21_1280_720_36.yuv finish save /tmp/decodeNV21_1280_720_37.yuv finish save /tmp/decodeNV21_1280_720_38.yuv finish save /tmp/decodeNV21_1280_720_39.yuv finish save /tmp/decodeNV21_1280_720_40.yuv finish save /tmp/decodeNV21_1280_720_41.yuv finish save /tmp/decodeNV21_1280_720_42.yuv finish save /tmp/decodeNV21_1280_720_43.yuv finish save /tmp/decodeNV21_1280_720_44.yuv finish save /tmp/decodeNV21_1280_720_45.yuv finish save /tmp/decodeNV21_1280_720_46.yuv finish save /tmp/decodeNV21_1280_720_47.yuv finish save /tmp/decodeNV21_1280_720_48.yuv finish save /tmp/decodeNV21_1280_720_49.yuv finish save /tmp/decodeNV21_1280_720_50.yuv finish save /tmp/decodeNV21_1280_720_51.yuv finish save /tmp/decodeNV21_1280_720_52.yuv finish save /tmp/decodeNV21_1280_720_53.yuv finish save /tmp/decodeNV21_1280_720_54.yuv finish save /tmp/decodeNV21_1280_720_55.yuv finish save /tmp/decodeNV21_1280_720_56.yuv finish save /tmp/decodeNV21_1280_720_57.yuv finish save /tmp/decodeNV21_1280_720_58.yuv finish save /tmp/decodeNV21_1280_720_59.yuv finish save /tmp/decodeNV21_1280_720_60.yuv finish save /tmp/decodeNV21_1280_720_61.yuv finish save /tmp/decodeNV21_1280_720_62.yuv finish save /tmp/decodeNV21_1280_720_63.yuv finish save /tmp/decodeNV21_1280_720_64.yuv finish save /tmp/decodeNV21_1280_720_65.yuv finish save /tmp/decodeNV21_1280_720_66.yuv finish save /tmp/decodeNV21_1280_720_67.yuv finish save /tmp/decodeNV21_1280_720_68.yuv finish save /tmp/decodeNV21_1280_720_69.yuv finish save /tmp/decodeNV21_1280_720_70.yuv finish save /tmp/decodeNV21_1280_720_71.yuv finish save /tmp/decodeNV21_1280_720_72.yuv finish save /tmp/decodeNV21_1280_720_73.yuv finish save /tmp/decodeNV21_1280_720_74.yuv finish save /tmp/decodeNV21_1280_720_75.yuv finish save /tmp/decodeNV21_1280_720_76.yuv finish save /tmp/decodeNV21_1280_720_77.yuv finish save /tmp/decodeNV21_1280_720_78.yuv finish save /tmp/decodeNV21_1280_720_79.yuv finish save /tmp/decodeNV21_1280_720_80.yuv finish save /tmp/decodeNV21_1280_720_81.yuv finish save /tmp/decodeNV21_1280_720_82.yuv finish save /tmp/decodeNV21_1280_720_83.yuv finish save /tmp/decodeNV21_1280_720_84.yuv finish save /tmp/decodeNV21_1280_720_85.yuv finish save /tmp/decodeNV21_1280_720_86.yuv finish save /tmp/decodeNV21_1280_720_87.yuv finish save /tmp/decodeNV21_1280_720_88.yuv finish save /tmp/decodeNV21_1280_720_89.yuv finish save /tmp/decodeNV21_1280_720_90.yuv finish save /tmp/decodeNV21_1280_720_91.yuv finish save /tmp/decodeNV21_1280_720_92.yuv finish save /tmp/decodeNV21_1280_720_93.yuv finish save /tmp/decodeNV21_1280_720_94.yuv finish save /tmp/decodeNV21_1280_720_95.yuv finish save /tmp/decodeNV21_1280_720_96.yuv finish save /tmp/decodeNV21_1280_720_97.yuv finish save /tmp/decodeNV21_1280_720_98.yuv finish save /tmp/decodeNV21_1280_720_99.yuv finish decoder thread finish decoder thread exit.... demoDecoder finish.decode frame: 101, cost 1 s after CdxParserClose() root@TinaLinux:/#
③ 获取yuv文件到电脑:adb pull /tmp/decodeNV21_1280_720_99.yuv
④ 打开 https://rawpixels.net/ 显示文件: