HarmonyOS鸿蒙Next中hi3516使用小型发行版系统hispark_taurus适配mipi lcd屏幕问题

HarmonyOS鸿蒙Next中hi3516使用小型发行版系统hispark_taurus适配mipi lcd屏幕问题 目前已经下载hispark_taurus,版本2.2.0,编译成功后可以正常进入系统。

想在想要适配新的mipi lcd屏幕,从老的lcd驱动入手,查看
vendor/hisilicon/hispark_taurus/config/device_info/device_info.hcs
文件,默认用的lcd屏幕是ICN9700的,我在
drivers/framework/model/display/driver/panel/mipi_icn9700.c
驱动文件中的 Icn9700EntryInit 函数里加了打印和会出异常的除0代码,发现系统启动后没有相关的打印或者出错,感觉系统没有加载lcd相关的驱动

并且系统启动打印中只有load mipi_rx driver successful! ,没有mipi_tx加载的打印。

请问:

  1. 如何加载lcd相关的驱动
  2. hispark_taurus代码默认是否会启动launcher应用,如果lcd适配好了,是不是直接就有画面了
7 回复

我用的是1.1.1版本的,然后修改drivers/framework/model/display/driver/panel/mipi_icn9700.c中的长宽度等部分参数,编译烧写启动后,在启动信息中可以看到我修改后参数,准备适配7寸的屏幕,但是没能成功。

更多关于HarmonyOS鸿蒙Next中hi3516使用小型发行版系统hispark_taurus适配mipi lcd屏幕问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


使用标准版也很奇怪,其他都不改、只把这个文件改错也总能编过:

drivers\framework\model\display\driver\panel\mipi_icn9700.c

这个问题已经反馈给研发,请您耐心等待一下。

reset  
Uncompress Ok!  
U-Boot 2016.11 (Jan 16 2020 - 11:32:53 +0000)hi3516dv300  
Relocation Offset is: 0f6ca000  
Relocating to 8feca000, new gd at 8fd49ef0, sp at 8fd49ed0  
MMC:   
EMMC/MMC/SD controller initialization.  
scan edges:2 p2f:6 f2p:1  
mix set temp-phase 3  
scan elemnts: startp:5 endp:116  
Tuning SampleClock. mix set phase:[04/07] ele:[02/15]  
** First descriptor is NOT a primary desc on 0:1 **  
MMC/SD Card:  
MID: 0x15  
Read Block: 512 Bytes  
Write Block: 512 Bytes  
Chip Size: 14910M Bytes (High Capacity)  
Name: "AJTD4"  
Chip Type: MMC  
Version: 0.0  
Speed: 100000000Hz  
Bus Width: 4bit  
himci: 0 (eMMC)  
In: serial  
Out: serial  
Err: serial  
Net: eth0  
Warning: eth0 (eth0) using random MAC address - 52:59:7f:46:27:1a  
Hit any key to stop autoboot: 0  
oem_update_version_param: new_uboot_ver = V1.0.0  
oem_update_version_param: old_uboot_ver = V1.0.0  
oem_main: PHYS_SDRAM_1=0x80000000, PHYS_SDRAM_1_SIZE=0x10000000  
oem_main: CONFIG_SYS_LOAD_ADDR=0x82080000, CONFIG_SYS_SDRAM_BASE=0x80000000  
oem_main: CONFIG_SYS_TEXT_BASE_ORI=0x80700000, CONFIG_SYS_TEXT_BASE=0x80800000  
oem_main: CONFIG_SYS_INIT_SP_ADDR=0x4014000, CONFIG_NR_DRAM_BANKS=0x1  
oem_main: CONFIG_ENV_OFFSET=0x80000, CONFIG_ENV_SIZE=0x40000  
oem_main: CONFIG_ENV_SECT_SIZE=0x10000, CONFIG_SYS_MALLOC_LEN=0x140000  
oem_main: CFG_BOOT_PARAMS=0x827FFF00  
USB0: Register 1000140 NbrPorts 1  
Starting the controller  
USB XHCI 1.10  
scanning bus 0 for devices... 1 USB Device(s) found  
0 Storage Device(s) found  
udisk_init: Fail to scan USB mass strorage, rc=-1  
udisk_upgrade: Fail to initialize UDISK, rc=-1  
oem_main: Fail to udisk_upgrade, rc=-1  
oem_firstboot: firstboot=NULL  
oem_need_dload: DLOAD=NULL  
MMC read: dev # 0, block # 2048, count 18432 ... 18432 blocks read: OK  
## Starting application at 0x80000000 ...  
******************Welcome******************  
Processor : Cortex-A7 * 2  
Run Mode : SMP  
GIC Rev : GICv2  
build time : Sep 1 2021 18:39:33  
Kernel : Huawei LiteOS 2.0.0.37/debug  
*******************************************  
main core booting up...  
I 02500/hcs_blob_if: CheckHcsBlobLength: the blobLength: 46136, byteAlign: 1  
releasing 1 secondary cores  
cpu 1 entering scheduler  
cpu 0 entering scheduler  
quickstart dev init OK!!!  
dev urandom init ...  
setting SDIO register ...  
dev mem init ...  
==========chip: hi3516dv300==========  
==========sensor0: imx335==========  
==========sensor1: imx335==========osal_proc_mkdir - parent is NULL! proc=0x40922de0  
g_mmz_start=0x88000000, g_mmz_size=0x180  
mmz param= anonymous,0,0x88000000,384M  
<6>Hismilicon Media Memory Zone Manager  
load sys.ko for Hi3516CV500...OK!  
load region.ko for Hi3516CV500...OK!  
load gdc.ko for Hi3516CV500...OK!  
load vgs.ko for Hi3516CV500...OK!  
load dis.ko for Hi3516CV500...OK!  
load vi.ko for Hi3516CV500...OK !  
load isp.ko for Hi3516CV500...OK !  
load vpss.ko for Hi3516CV500...OK!  
load vo.ko for Hi3516CV500...OK!  
load chnl.ko for Hi3516CV500...OK!  
load vedu.ko for Hi3516CV500...OK!  
load rc.ko for Hi3516CV500...OK!  
load venc.ko for Hi3516CV500...OK!  
load h264e.ko for Hi3516CV500...OK!  
load h265e.ko for Hi3516CV500...OK!  
load jpege.ko for Hi3516CV500...OK!  
load jpegd.ko for Hi3516CV500...OK!  
load vdec.ko for Hi3516CV500...OK!  
load ive.ko for Hi3516CV500...OK!  
load nnie.ko for Hi3516CV500...OK!  
load tde.ko for Hi3516CV500...OK!  
Load hifb.ko OK!  
Do not support in hmos fun[osal_register_reboot_notifier]  
load hi_piris.ko for Hi3516CV500...OK!  
load hdmi.ko for Hi3516CV500...OK!  
load mipi_rx driver successful!  
No console dev used.  
No console dev used.  
No console dev used.  
No console dev used.  
net init ...  
tcpip_init start  
tcpip_init end  
Ethernet start.No console dev used.  
No console dev used.  
hisi_eth: User did not set phy mode, use default=rmii  
hisi_eth: User did not set phy addr, auto scan...  
No OTP data, festa PHY use default ATE parameters!  
festa PHY wait autotrim done timeout!  
Detected phy addr 1, phyid: 0x1cc816  
Link is Up - 100Mbps/Full  
************************************************************  
OsMountRootfs start ...  
O[Init] ****/****/****/****/OpenHarmony-1.0.1.0(Beta)/****/****/3/OpenHarmony 2.2 beta/debug  
[ERR]Bind method failed: -16  
[Init] DoMount, failed for vfat /dev/mmcblk0 /sdcard rw,umask=000, err 16.  
[ERR]Failed to find block driver /dev/mmcblk1  
[Init] DoMount, failed for vfat /dev/mmcblk1 /sdcard rw,umask=000, err 13.  
[Init] start service foundation succeed, pid 3.  
[Init] start service bundle_daemon succeed, pid 4.  
[Init] start service appspawn succeed, pid 5.  
[Init] start service media_server succeed, pid 6.  
[Init] start service wms_server succeed, pid 7.  
[Init] start service shell succeed, pid 8.  
OHOS # [ERR]ServiceManager not set!  
Media server initialize succeed.  
[DISCOVERY] InitLocalDeviceInfo ok  
[DISCOVERY] CoapInitWifiEvent  
[DISCOVERY] CoapWriteMsgQueue  
[DISCOVERY] CoapReadHandle coin select begin  
[DISCOVERY] InitService ok  
[DISCOVERY] PublishCallback publishId=1, result=0  
[TRANS] WaitProcess begin  
[TRANS] SelectSessionLoop begin  
[AUTH] StartBus ok  
[ERR]CheckUsedBuffer failed:-14  
[ERR]QuickstartListen,78:0x2001c01  
[ERR][SendCmd,34] Invalid argument!  
spi nor flash init ...  
hifmc1000  
spinor_get_dev_id(56): Spi(cs0) have no device.  
Cs[0] have no device!!!  
spinor_get_dev_id(56): Spi(cs1) have no device.  
Cs[1] have no device!!!  
hifmc100_attach(130): Error:spinor scan fail!  
device_attach: hifmc1000 attach returned -1  
usb init ...  
******** usb_init in **********  
usb v3.05 2019-11-20 10:40  
xhci0: <XHCI (generic) USB 3.0 controller>  
xhci_init (xhci0): 64 bytes context size, 32-bit DMA  
usbus0 on xhci0  
usb_bus_attach (usbus0): 5.0Gbps Super Speed USB v3.0  
hifmc1000  
spinor_get_dev_id(56): Spi(cs0) have no device.  
Cs[0] have no device!!!  
spinor_get_dev_id(56): Spi(cs1) have no device.  
Cs[1] have no device!!!  
hifmc100_attach(130): Error:spinor scan fail!  
device_attach: hifmc1000 attach returned -1  
******** usb_init ok**********  
[Init] start service apphilogcat succeed, pid 10.  
[Init] start service hiview invalid, please check /bin/hiview.  
[Init] StartServiceByName, service hiview start failed!  
[Init] start service sensor_service succeed, pid 11.  
[Init] start service ai_server succeed, pid 12.  
[Init] DoChown, failed for 0 99 /dev/gpio, err 2.  
[Init] main, time used: sigInfo 6 ms, rcs 0 ms, cfg 10176 ms.  
[Init] main, entering wait.  
ugen0.1: <vendor 0x0000> at usbus0  
device_set_usb_desc (uhub0): <vendor 0x0000 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0  
Set log level : 3  
Default log level: 3  
01-01 00:00:20.301 3 34 D 01800/Samgr: Find Feature<bundlems, BmsFeature> id<40, 5> ret:0  
01-01 00:00:20.301 9 57 I 01800/Samgr: Create remote sa proxy[0x26d20e20]<bundlems, BmsFeature>!  
01-01 00:00:20.301 9 57 I 00000/(null): [appspawn] get service name appspawn.  
01-01 00:00:20.337 7 29 I 02500/HDF_DISP: GrallocInitialize: gralloc initialize success  
01-01 00:00:20.377 9 57 I 02500/HDF_DISP: GrallocInitialize: gralloc initialize success  
01-01 00:00:21.018 9 57 I 00000/(null): Ability OnActive  
01-01 00:00:21.018 9 57 I 00000/(null): AbilitySlice OnActive  
01-01 00:00:21.018 9 57 I 00000/(null): perform transact ability state done [3]  
01-01 00:00:21.019 3 31 I 01300/abilityms: AbilityMgrFeature::Invoke(84): ams invoke called  
01-01 00:00:21.019 3 31 D 01300/abilityms: AbilityMgrHandler::AbilityTransaction(219): start  
01-01 00:00:21.019 3 31 D 01300/abilityms: AbilityWorker::AbilityTransaction(86): ability token(81604378624), state(3)  
01-01 00:00:21.019 3 31 D 01300/abilityms: AbilityActivateTask::Execute(26): start  
uhub_attach (uhub0): 1 port with 1 removable, self powered  
write file switch /storage/data/log/hilog2.txt  
01-01 00:00:21.882 2 10 E 02500/mmc_protocol_c: SdioInit: ocr is invalid!  
01-01 00:00:21.882 2 10 D 02500/mmc_protocol_c: MmcDoDetect: host2 detect fail!  
01-01 00:00:22.668 2 13 E 02500/HDF_WIFI_CORE: HdfWlanInitThread:Device 0 detect failed!  
01-01 00:00:22.668 2 13 D 02500/HDF_WIFI_CORE: HdfWlanInitThread:finished.  
01-01 00:00:23.960 12 66 I 00000/(null): [AI][Init:569][SaServer]Init start.  
01-01 00:00:23.971 11 65 D 00000/SENSOR_LITE: [SERVICE:sensor_service]: Init begin  
01-01 00:00:23.982 11 65 D 00000/SENSOR_LITE: [SERVICE:sensor_service]: SENSOR_GetName begin  
01-01 00:00:23.982 11 65 D 00000/SENSOR_LITE: [SERVICE:sensor_service]: SENSOR_GetName begin  
01-01 00:00:23.982 11 65 I 01800/Samgr: Bootstrap core services(count:1).  
01-01 00:00:23.982 11 65 D 00000/SENSOR_LITE: [SERVICE:sensor_service]: GetTaskConfig begin  
01-01 00:00:23.982 11 65 D 00000/SENSOR_LITE: [SERVICE:sensor_service]: SENSOR_GetName begin  
01-01 00:00:23.982 11 65 I 01800/Samgr: Init service:sensor_service TaskPool:0x201683c0  
01-01 00:00:23.982 11 65 D 00000/SENSOR_LITE: [SERVICE:sensor_service]: SENSOR_GetName begin  
01-01 00:00:23.982 11 67 D 00000/SENSOR_LITE: [SERVICE:sensor_service]: Initialize begin  
01-01 00:00:23.992 11 67 D 02500/sensor_manager_c: NewSensorInterfaceInstance: Get sensor device instance success  
01-01 00:00:23.992 11 67 D 00000/SENSOR_LITE: [SERVICE:sensor_service]: SENSOR_GetName begin  
01-01 00:00:23.992 11 67 I 01800/Samgr: Initialize Client Registry!  
01-01 00:00:23.993 3 34 E 01500/Communication: [UnregisterDeathCallback : 980]Wrong cbId:4294967295.  
01-01 00:00:23.993 3 34 I 01800/Samgr: Register Endpoint<11, 68, 0>  
01-01 00:00:23.993 11 68 E 01500/Communication: [UnregisterDeathCallback : 980]Wrong cbId:4294967295.  
01-01 00:00:23.993 3 34 D 01800/Samgr: Register Feature<sensor_service, (null)> pid<11>, id<68, 0> ret:0  
01-01 00:00:23.993 11 68 D 01800/Samgr: RegisterRemoteFeatures<sensor_service, (null)> ret:0  
01-01 00:00:23.993 11 68 I 01800/Samgr: Register endpoint<ipc client> and iunknown finished! remain<0> iunknown!  
write file switch /storage/data/log/hilog1.txt  
01-01 00:00:23.993 3 34 D 01800/Samgr: Register Feature<sensor_service, (null)> pid<11>, id<68, 0> ret:0  
01-01 00:00:23.993 11 67 I 01800/Samgr: Register server sa<sensor_service, (null)> id<4294967295, 0> retry:1 ret:0!  
01-01 00:00:23.993 11 67 D 00000/SENSOR_LITE: [SERVICE:sensor_service]: SENSOR_GetName begin  
01-01 00:00:23.993 11 67 I 01800/Samgr: Init service sensor_service <time: 11ms> success!  
01-01 00:00:23.993 11 67 I 01800/Samgr: Initialized all core system services!  
01-01 00:00:23.993 11 67 D 00000/SENSOR_LITE: [SERVICE:sensor_service]: SENSOR_GetName begin  
01-01 00:00:23.993 11 67 I 01800/Samgr: Goto next boot step return code:-9  
01-01 00:00:24.022 12 66 D 00000/(null): [AI][main:35][StartServer]Start Ai Provider System Start.  
01-01 00:00:24.022 12 66 I 00000/(null): [AI][HOS_SystemInit:26][StartServer]Provider HOS System init  
01-01 00:00:24.023 12 66 I 01800/Samgr: Bootstrap core services(count:1).  
01-01 00:00:24.023 12 66 I 01800/Samgr: Init service:ai_service TaskPool:0x698efc0  
01-01 00:00:24.023 12 70 I 01800/Samgr: Initialize Client Registry!  
01-01 00:00:24.023 3 34 E 01500/Communication: [UnregisterDeathCallback : 980]Wrong cbId:4294967295.  
01-01 00:00:24.023 3 34 I 01800/Samgr: Register Endpoint<12, 71, 0>  
01-01 00:00:24.023 12 71 E 01500/Communication: [UnregisterDeathCallback : 980]Wrong cbId:4294967295.  
01-01 00:00:24.024 3 34 D 01800/Samgr: Register Feature<ai_service, (null)> pid<12>, id<71, 0> ret:0  
01-01 00:00:24.024 12 71 D 01800/Samgr: RegisterRemoteFeatures<ai_service, (null)> ret:0  
01-01 00:00:24.024 12 71 I 01800/Samgr: Register endpoint<ipc client> and iunknown finished! remain<0> iunknown!  
01-01 00:00:24.024 3 34 D 01800/Samgr: Register Feature<ai_service, (null)> pid<12>, id<71, 0> ret:0  
01-01 00:00:24.024 12 66 D 00000/(null): [AI][main:37][StartServer]Start Ai Provider System End.  
01-01 00:00:24.024 12 70 I 01800/Samgr: Register server sa<ai_service, (null)> id<4294967295, 0> retry:1 ret:0!  
01-01 00:00:24.024 12 70 I 01800/Samgr: Init service ai_service <time: 63ms> success!  
01-01 00:00:24.024 12 70 I 01800/Samgr: Initialized all core system services!  
write file switch /storage/data/log/hilog2.txt  
01-01 00:00:24.024 12 70 I 01800/Samgr: Goto next boot step return code:-9  
OHOS #  

欢迎开发小伙伴们进来帮帮楼主

在HarmonyOS鸿蒙Next中,hi3516使用小型发行版系统hispark_taurus适配MIPI LCD屏幕时,需确保以下几点:首先,验证硬件连接正确,包括MIPI接口和电源;其次,在设备树中正确配置MIPI LCD参数,如分辨率、时序等;接着,检查驱动是否支持所选LCD型号,必要时进行驱动适配;最后,确保系统启动时正确加载LCD驱动,并通过调试工具验证屏幕显示是否正常。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!