页次: 1
之前编译的个,可以拿去测试下烧录流程
tina_d1s-nezha_nor_uart3_nor_20221008-1125.img)
使用的开发板为晕哥的哪吒d1s开发板v1.1版本,找了很多固件烧录进去都无法使用,索性就自己编译了个nor版本的固件,修改了debug串口,wifi引脚,gmac引脚配置,固件测试wifi和以太网正常使用,其他部分暂未测试
tina_d1s-nezha_nor_uart3_nor_20221008-1125.img
在pico中使用USB模拟RNDIS设备与电脑连接,已添加FreeRTOS相关配置,为下一步使用socket相关接口做准备,编译工程需自行添加FreeRTOS库的连接
主要使用到的库为pico_lwip和FreeRTOS-Kernel-Heap4,暂只模拟成功,具体使用待验证
JTAG工具.rar
用这个软件可以控制 支持JTAG扫描链的芯片的PIN脚输出输入
这个支持测试altera的引脚吗
Watchdog Status: 0 , boot from normal
[EMI] MDL number = 0
[EMI] PCDDR3
get dram size from AUXADC1 515 1
[EMI] Use Common DDR3 x16 emi settings
[EMI] Config emi settings:
EMI_CONA=0x1010, EMI_CONH=0x3
EMI_RAMK0=0x10000000, EMI_RAMK1=0x0
EMI_CONA=0x1010
EMI_CONF=0x4210000
EMI_CONH=0x3
[DramcSwImpedanceCal] FINAL: DRVP=7, DRVN=6
PCDDR3 Pinmux
SSC OFF
DRAM Clock: 1584MHz
[Write Leveling]
WriteLevelingMoveDQSInsteadOfCLK
===============================================================================
Dram Type= 4, Freqency= 1600, rank 0
odt_onoff= 0, Byte mode= 0, Read_DBI= 0, Write DBI= 0
===============================================================================
WL Clk delay = 0, CA CLK delay = 0
No need to update CA/CS delay because the CLK delay is small than CA training.
Final Clk output delay = 0
R0 FINAL: WriteLeveling DQS:(2, 0) OEN:(1, 2) DQS0 delay = 36
R0 FINAL: WriteLeveling DQS:(2, 0) OEN:(1, 2) DQS1 delay = 32
[DramcWriteLeveling] ====Done====
[Gating]
===============================================================================
Dram Type= 4, Freqency= 1600, rank 0
odt_onoff= 0, Byte mode= 0, Read_DBI= 0, Write DBI= 0
===============================================================================
[Byte 0]First pass (1, 3, 8)
[Byte 1]First pass (1, 3, 8)
[Byte 0]Bigger pass win(1, 4, 31) Pass tap=55
[Byte 1]Bigger pass win(1, 5, 3) Pass tap=59
===============================================================================
dqs input gating widnow, final delay value
Frequency=1600 rank=0
===============================================================================
R0 FINAL: GW best DQS0 P0 delay(2T, 0.5T, PI) = (1, 4, 3) [tap = 55]
R0 FINAL: GW best DQS1 P0 delay(2T, 0.5T, PI) = (1, 4, 5) [tap = 59]
R0 FINAL: GW best DQS0 P1 delay(2T, 0.5T, PI) = (1, 6, 3)
R0 FINAL: GW best DQS1 P1 delay(2T, 0.5T, PI) = (1, 6, 5)
[DramcRxdqsGatingCal] ====Done====
[DATLAT]
DATLAT Default value = 0xf
5, 0xFFFF, sum=0
6, 0xFFFF, sum=0
7, 0xFFFF, sum=0
8, 0xFFFF, sum=0
9, 0xFFFF, sum=0
10, 0xFFFF, sum=0
11, 0xFFFF, sum=0
12, 0xFFFF, sum=0
13, 0x0, sum=1
14, 0x0, sum=2
15, 0x0, sum=3
16, 0x0, sum=4
17, 0x0, sum=5
pattern=5 first_step=13 total pass=6 best_step=15
R0 FINAL: DATLAT = 15 [13 ~ 18]
[DramcRxdatlatCal] ====Done====
[RX]
===============================================================================
Dram Type= 4, Freqency= 1600, rank 0
odt_onoff= 0, Byte mode= 0, Read_DBI= 0, Write DBI= 0
===============================================================================
RX Window Sum 593
R0 FINAL: RX Bit 0, 11 (-8 ~ 31) 40
R0 FINAL: RX Bit 1, 10 (-8 ~ 28) 37
R0 FINAL: RX Bit 2, 11 (-7 ~ 30) 38
R0 FINAL: RX Bit 3, 8 (-11 ~ 27) 39
R0 FINAL: RX Bit 4, 13 (-5 ~ 31) 37
R0 FINAL: RX Bit 5, 14 (-5 ~ 33) 39
R0 FINAL: RX Bit 6, 14 (-4 ~ 33) 38
R0 FINAL: RX Bit 7, 14 (-4 ~ 33) 38
R0 FINAL: RX Bit 8, 15 (-3 ~ 34) 38
R0 FINAL: RX Bit 9, 15 (-3 ~ 33) 37
R0 FINAL: RX Bit 10, 13 (-4 ~ 31) 36
R0 FINAL: RX Bit 11, 13 (-5 ~ 32) 38
R0 FINAL: RX Bit 12, 15 (-3 ~ 34) 38
R0 FINAL: RX Bit 13, 12 (-7 ~ 32) 40
R0 FINAL: RX Bit 14, 15 (-4 ~ 34) 39
R0 FINAL: RX Bit 15, 15 (-3 ~ 33) 37
===============================================================================
Dram Type= 4, Freqency= 1600, rank 0
odt_onoff= 0, Byte mode= 0, Read_DBI= 0, Write DBI= 0
===============================================================================
DQS Delay :
DQS0 = 0, DQS1 = 0, DQS2 = 0, DQS3 = 0
DQM Delay :
DQM0 = 11, DQM1 = 14, DQM2 = 0, DQM3 = 0
DQ Delay :
DQ0 =11, DQ1 =10, DQ2 =11, DQ3 =8
DQ4 =13, DQ5 =14, DQ6 =14, DQ7 =14
DQ8 =15, DQ9 =15, DQ10 =13, DQ11 =13
DQ12 =15, DQ13 =12, DQ14 =15, DQ15 =15
________________________________________________________________________
[DramcRxWindowPerbitCal] ====Done====
[TX]
[DramcTxWindowPerbitCal] Frequency=1600, Rank=0, calType=2
[DramcTxWindowPerbitCal] Begin, TX DQ(2, 0), DQ OEN(1, 2)
TX Window Sum 435
===============================================================================
Dram Type= 4, Freqency= 1600, rank 0
odt_onoff= 0, Byte mode= 0, Read_DBI= 0, Write DBI= 0
===============================================================================
R0 FINAL: TX Bit0 (37~64) 28 50, Bit8 (37~63) 27 50,
R0 FINAL: TX Bit1 (35~62) 28 48, Bit9 (37~64) 28 50,
R0 FINAL: TX Bit2 (37~64) 28 50, Bit10 (36~63) 28 49,
R0 FINAL: TX Bit3 (35~63) 29 49, Bit11 (37~63) 27 50,
R0 FINAL: TX Bit4 (38~64) 27 51, Bit12 (38~64) 27 51,
R0 FINAL: TX Bit5 (39~64) 26 51, Bit13 (36~63) 28 49,
R0 FINAL: TX Bit6 (39~64) 26 51, Bit14 (38~64) 27 51,
R0 FINAL: TX Bit7 (40~64) 25 52, Bit15 (38~63) 26 50,
==================================================================
Byte0, PI DQ Delay 50 Delay2 51
Final DQ PI Delay(LargeUI, SmallUI, PI) =(2 ,0, 51)
OEN DQ PI Delay(LargeUI, SmallUI, PI) =(1 ,2, 51)
Byte1, PI DQ Delay 50 Delay2 50
Final DQ PI Delay(LargeUI, SmallUI, PI) =(2 ,0, 50)
OEN DQ PI Delay(LargeUI, SmallUI, PI) =(1 ,2, 50)
[DramcTxWindowPerbitCal] ====Done====
[DramcRxdqsGatingPostProcess] p->frequency 1600
[DramcRxdqsGatingPostProcess] s1ChangeDQSINCTL 0, reg_TX_dly_DQSgated_min 3, u1TXDLY_Cal_min 3
Settings after calibration ...
=== [DramcRunTimeConfig] ===
ZQCS_ENABLE_LP3: ON
LOWPOWER_GOLDEN_SETTINGS(DCM): ON
SPM_CONTROL_AFTERK: ON
TEMP_SENSOR_ENABLE: OFF
ENABLE_PER_BANK_REFRESH: OFF
HW_SAVE_FOR_SR: OFF
=========================
0:dram_rank_size:10000000
dram size 0x10000000.
[MEM] complex R/W mem test pass
nand found [PN27G01BBGITG]
[nand] read page 49152 chip 0 UNCORRECT
block768 is a bad block!
[I2C] id=1,addr: 32, transfer error
[I2C] I2C_ACKERR
[I2C] I2C structure:
[I2C] Id=1,Dma_en=0,Auto_restart=0,Poll_en=1,Op=1
[I2C] Irq_stat=3,source_clk=68250,clk_div=5,speed=100
[I2C] base address 0xffff00000160a000
[I2C] I2C register:
[I2C] SLAVE_ADDR=64,INTR_MASK=f8,INTR_STAT=3,CONTROL=28
[I2C] TRANSFER_LEN=2,TRANSAC_LEN=1,DELAY_LEN=2
[I2C] TIMING=216,START=0,FIFO_STAT=1210,IO_CONFIG=3,HS=0
[I2C] DCM_EN=0,DEBUGSTAT=40,EXT_CONF=8001
[I2C] TRANSFER_LEN_AUX=1,FIFO_THRESH=700,RSV_DEBUG=0
[I2C] DEBUGCTRL=0,CLOCK_DIV=4,SCL_HL_RATIO=c3
[I2C] SCL_HS_HL_RATIO=41,SCL_MIS_COMP_POINT=0
[I2C] STA_STOP_AC_TIME=0,HS_STA_STOP_AC_TIME=0
[I2C] DATA_TIME=0
[I2C] mtk_i2c_write fails(-121).
starting app fitboot
open MISC successfully
lastboot = 0, use A = -1, use B = -1, current = 0
***last succeed boot from A system,upgrade B failed or no upgrade B***
***now boot from system A***
choose first boot partition:BOOTIMG1 , tee choose: TEE1
Verifying tz_ctl Sign
checking tz_ctl - kernel integrity
0:dram_rank_size:10000000
dram size 0x10000000.
checking tz_ctl - tee integrity
0:dram_rank_size:10000000
dram size 0x10000000.
Verifying bootimg_ctl Sign
checking bootimg_ctl - kernel integrity
0:dram_rank_size:10000000
dram size 0x10000000.
checking bootimg_ctl - fdt integrity
0:dram_rank_size:10000000
dram size 0x10000000.
Partition [DTBO] is not exist.
LK run time: 1880147 (us)
jump to tz 0x42ff6000
[ATF](0)[1.880730]INFO: Kernel is AArch64
[ATF](0)[1.882018]NOTICE: BL3-1: v1.2(debug):4ebda78
[ATF](0)[1.882592]NOTICE: BL3-1: Built : 17:05:34, Jul 26 2018
[ATF](0)[1.883292]NOTICE: BL31: v1.2(debug):4ebda78
[ATF](0)[1.883874]NOTICE: BL31: Built : 17:05:34, Jul 26 2018
[ATF](0)[1.884564]INFO: [spmc_init]change to SPMC mode !!!
[ATF](0)[1.885247]INFO: ARM GICv2 driver initialized
[ATF](0)[1.885859]INFO: BL31: Initializing runtime services
[ATF](0)[1.886558]INFO: BL31: Initializing BL32
lEMI_MPUS = 20000120, EMI_MPUT = 100fffb0
[DAPC] [TEE] dapc_register_ext_handler is called by Type_2B slave(5)
[ATF](0)[1.888534]INFO: BL31: Preparing for EL3 exit to normal world
[ATF](0)[1.889302]INFO: Entry point address = 0x41e00000
[ATF](0)[1.889959]INFO: SPSR = 0x3c9
[ 0.000000] <0>-(0)[0:swapper]Booting Linux on physical CPU 0x0
[ 0.000000] <0>-(0)[0:swapper]Initializing cgroup subsys cpu
[ 0.000000] <0>-(0)[0:swapper]Initializing cgroup subsys cpuacct
[ 0.000000] <0>-(0)[0:swapper]Linux version 4.4.22 (system@server3) (gcc version 6.2.0 (GCC) ) #1 SMP PREEMPT Thu Jul 26 17:07:54 CST 2018
[ 0.000000] <0>-(0)[0:swapper]Boot CPU: AArch64 Processor [410fd041]
[ 0.000000] <0>-(0)[0:swapper]earlycon: Early serial console at MMIO32 0x11005000 (options '')
[ 0.000000] <0>-(0)[0:swapper]bootconsole [uart0] enabled
[ 0.000000] <0>-(0)[0:swapper][PHY layout]atf-reserved-memory@43000000 : 0x43000000 - 0x4302ffff (0x30000)
[ 0.000000] <0>-(0)[0:swapper][PHY layout]mtee-reserved-memory : 0x4fd00000 - 0x4fffffff (0x300000)
[ 0.000000] <0>-(0)[0:swapper][PHY layout]consys-reserve-memory : 0x4fa00000 - 0x4fbfffff (0x200000)
[ 0.000000] <0>-(0)[0:swapper][WMT-CONSYS-HW][W]reserve_memory_consys_fn: name: consys-reserve-memory, base: 0x4fa00000, size: 0x200000
[ 0.000000] <0>-(0)[0:swapper]Reserved memory: initialized node consys-reserve-memory, compatible id mediatek,consys-reserve-memory
[ 0.000000] <0>-(0)[0:swapper][memblock]ram_console-reserve-memory: 0x44400000 - 0x44410000 (0x10000)
[ 0.000000] <0>-(0)[0:swapper]Reserved memory: initialized node ram_console-reserved-memory@44400000, compatible id mediatek,ram_console
[ 0.000000] <0>-(0)[0:swapper][PHY layout]kernel : 0x40000000 - 0x42ffffff (0x3000000)
[ 0.000000] <0>-(0)[0:swapper][PHY layout]kernel : 0x43030000 - 0x4f9fffff (0xc9d0000)
[ 0.000000] <0>-(0)[0:swapper][PHY layout]kernel : 0x4fc00000 - 0x4fcfffff (0x100000)
[ 0.000000] <0>-(0)[0:swapper]psci: probing for conduit method from DT.
[ 0.000000] <0>-(0)[0:swapper]psci: PSCIv1.0 detected in firmware.
[ 0.000000] <0>-(0)[0:swapper]psci: Using standard PSCI v0.2 function IDs
[ 0.000000] <0>-(0)[0:swapper]psci: Trusted OS migration not required
[ 0.000000] <0>-(0)[0:swapper]PERCPU: Embedded 19 pages/cpu @ffffffc00fc6d000 s39832 r8192 d29800 u77824
[ 0.000000] <0>-(0)[0:swapper]Detected VIPT I-cache on CPU0
[ 0.000000] <0>-(0)[0:swapper]Built 1 zonelists in Zone order, mobility grouping on. Total pages: 63196
[ 0.000000] <0>-(0)[0:swapper][cpu_ntf] <00>ffffff8008116e24 (page_alloc_cpu_notify)
[ 0.000000] <0>-(0)[0:swapper]Kernel command line: console=tty0 console=ttyS0,921600n1 earlycon=uart8250,mmio32,0x11005000 ubi.mtd=8 root=ubi0:aud8516p1v2-consys-slc-128-rootfs rootfstype=ubifs vmalloc=496M androidboot.hardware=aud8516p1_linux
[ 0.000000] <0>-(0)[0:swapper]PID hash table entries: 1024 (order: 1, 8192 bytes)
[ 0.000000] <0>-(0)[0:swapper]Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
[ 0.000000] <0>-(0)[0:swapper]Inode-cache hash table entries: 16384 (order: 5, 131072 bytes)
[ 0.000000] <0>-(0)[0:swapper]software IO TLB [mem 0x4f9c0000-0x4fa00000] (0MB) mapped at [ffffffc00f9c0000-ffffffc00f9fffff]
[ 0.000000] <0>-(0)[0:swapper]Memory: 241460K/256832K available (5868K kernel code, 436K rwdata, 1956K rodata, 368K init, 1170K bss, 15372K reserved, 0K cma-reserved)
[ 0.000000] <0>-(0)[0:swapper]Virtual kernel memory layout:
[ 0.000000] <0> modules : 0xffffff8000000000 - 0xffffff8008000000 ( 128 MB)
[ 0.000000] <0> vmalloc : 0xffffff8008000000 - 0xffffffbdbfff0000 ( 246 GB)
[ 0.000000] <0> .init : 0xffffff8008829000 - 0xffffff8008885000 ( 368 KB)
[ 0.000000] <0> .text : 0xffffff8008080000 - 0xffffff800863c000 ( 5872 KB)
[ 0.000000] <0> .rodata : 0xffffff800863c000 - 0xffffff8008829000 ( 1972 KB)
[ 0.000000] <0> .data : 0xffffff8008885000 - 0xffffff80088f2140 ( 437 KB)
[ 0.000000] <0> vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000 ( 8 GB maximum)
[ 0.000000] <0> 0xffffffbdc0000000 - 0xffffffbdc03f4000 ( 3 MB actual)
[ 0.000000] <0> fixed : 0xffffffbffe7fd000 - 0xffffffbffec00000 ( 4108 KB)
[ 0.000000] <0> PCI I/O : 0xffffffbffee00000 - 0xffffffbfffe00000 ( 16 MB)
[ 0.000000] <0>-(0)[0:swapper][cpu_ntf] <00>ffffff8008147eb0 (slab_cpuup_callback)
[ 0.000000] <0>-(0)[0:swapper]SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] <0>-(0)[0:swapper/0][cpu_ntf] <00>ffffff80080bf1c4 (sched_ilb_notifier)
[ 0.000000] <0>-(0)[0:swapper/0]Preemptible hierarchical RCU implementation.
[ 0.000000] <0>-(0)[0:swapper/0] Build-time adjustment of leaf fanout to 64.
[ 0.000000] <0>-(0)[0:swapper/0][cpu_ntf] <00>ffffff80080e5240 (rcu_cpu_notify)
[ 0.000000] <0>-(0)[0:swapper/0][cpu_ntf] <00>ffffff8008228b60 (radix_tree_callback)
[ 0.000000] <0>-(0)[0:swapper/0]NR_IRQS:64 nr_irqs:64 0
[ 0.000000] <0>-(0)[0:swapper/0][cpu_ntf] <00>ffffff80082454cc (gic_secondary_init)
[ 0.000000] <0>-(0)[0:swapper/0][cpu_ntf] <00>ffffff80080e7bd4 (timer_cpu_notify)
[ 0.000000] <0>-(0)[0:swapper/0][cpu_ntf] <00>ffffff80080e96d0 (hrtimer_cpu_notify)
[ 0.000000] <0>-(0)[0:swapper/0][cpu_ntf] <00>ffffff8008455610 (arch_timer_cpu_notify)
[ 0.000000] <0>-(0)[0:swapper/0]Architected cp15 timer(s) running at 13.00MHz (phys).
[ 0.000000] <0>-(0)[0:swapper/0]clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[ 0.000006] <0>-(0)[0:swapper/0]sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[ 0.001364] <0>-(0)[0:swapper/0]clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 147020034397 ns
[ 0.003075] <0>-(0)[0:swapper/0][cpu_ntf] <00>ffffff80080f9bec (hotplug_cfd)
[ 0.004044] <0>.(0)[0:swapper/0]ram_console: buffer start: 0xffffff8008020000, size: 0x10000
[ 0.012441] <0>.(0)[0:swapper/0]ram_console: CPU notifier status: 0, 0, 0x0, 0
[ 0.013386] <0>.(0)[0:swapper/0]ram_console: last init function: 0x0
[ 0.014640] <0>.(0)[0:swapper/0]console [ram-1] enabled
[ 0.015332] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=52000)
[ 0.016688] <0>.(0)[0:swapper/0]pid_max: default: 32768 minimum: 301
[ 0.017583] <0>.(0)[0:swapper/0][cpu_ntf] <00>ffffff8008179240 (buffer_cpu_notify)
[ 0.018575] <0>.(0)[0:swapper/0]Security Framework initialized
[ 0.019369] <0>.(0)[0:swapper/0]Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
[ 0.020462] <0>.(0)[0:swapper/0]Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes)
[ 0.021813] <0>.(0)[0:swapper/0][cpu_ntf] <00>ffffff800811b648 (ratelimit_handler)
[ 0.023087] <0>.(0)[0:swapper/0][cpu_ntf] <00>ffffff8008098cdc (smpboot_thread_call)
[ 0.024219] <0>-(0)[0:swapper/0]init_heavy_tlb start.
[ 0.024891] <0>-(0)[0:swapper/0]init_heavy_tlb: cid=-1 is out of nr=1
[ 0.025737] <0>-(0)[0:swapper/0]init_heavy_tlb: cpu=0 thresh_l=0 thresh_h=0 max_capaicy=0
[ 0.026807] <0>-(0)[0:swapper/0]init_heavy_tlb: cid=-1 is out of nr=1
[ 0.027653] <0>-(0)[0:swapper/0]init_heavy_tlb: cpu=1 thresh_l=0 thresh_h=0 max_capaicy=0
[ 0.028723] <0>-(0)[0:swapper/0]init_heavy_tlb: cid=-1 is out of nr=1
[ 0.029569] <0>-(0)[0:swapper/0]init_heavy_tlb: cpu=2 thresh_l=0 thresh_h=0 max_capaicy=0
[ 0.030639] <0>-(0)[0:swapper/0]init_heavy_tlb: cid=-1 is out of nr=1
[ 0.031485] <0>-(0)[0:swapper/0]init_heavy_tlb: cpu=3 thresh_l=0 thresh_h=0 max_capaicy=0
[ 0.032666] <0>.(0)[1:swapper/0]ASID allocator initialised with 65536 entries
[ 0.033615] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff800809cc90 (cpu_callback)
[ 0.036607] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff80080ae13c (workqueue_cpu_up_callback)
[ 0.037694] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff80080ae42c (workqueue_cpu_down_callback)
[ 0.048676] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff80080b8920 (migration_call)
[ 0.049639] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff80080b61e4 (sched_cpu_active)
[ 0.050623] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff80080b61b0 (sched_cpu_inactive)
[ 0.053963] <0>.(0)[1:swapper/0]init_get_max_DRAM_size done. phone_dram_sz: 0x0, kernel_mem_sz: 0x10000000
[ 0.055755] <0>.(0)[1:swapper/0][BOOT_REASON] 'boot_reason=' is not found
[ 0.057185] <0>.(0)[1:swapper/0]'atag,devinfo' is not found
[ 0.070543] <0>.(0)[1:swapper/0]Brought up 4 CPUs
[ 0.071167] <0>.(0)[1:swapper/0]SMP: Total of 4 processors activated.
[ 0.072018] <0>.(0)[1:swapper/0]CPU: All CPU(s) started at EL2
[ 0.073113] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff80080b5d00 (sched_domains_numa_masks_update)
[ 0.074269] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff80080bce74 (cpuset_cpu_active)
[ 0.075263] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff80080bcecc (cpuset_cpu_inactive)
[ 0.076282] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff80080b7170 (hotplug_hrtick)
[ 0.077647] <0>.(0)[1:swapper/0]devtmpfs: initialized
[ 0.078578] <0>.(0)[1:swapper/0][cpu_ntf] <00>ffffff80082792f4 (device_hotplug_notifier)
[ 0.093688] <0>.(0)[1:swapper/0]clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.095396] <0>.(0)[1:swapper/0]pinctrl core: initialized pinctrl subsystem
[ 0.097213] <0>.(0)[1:swapper/0][BOOT_COMMON] 'atag,boot' is not found
[ 0.098295] <0>.(0)[1:swapper/0]zone_movable_cma: uninited cma, start zone_movable_cma fail!
[ 0.099821] <0>.(0)[1:swapper/0]NET: Registered protocol family 16
[ 0.101199] <0>.(0)[1:swapper/0][SPM] spm_base = ffffff8008032000
[ 0.102003] <0>.(0)[1:swapper/0][SPM] spm_irq_0 = 6, spm_irq_1 = 7, spm_irq_2 = 8, spm_irq_3 = 9
[ 0.104133] <0>.(0)[1:swapper/0][Power/idle] node 'mediatek,mt8167-mfgcfg' not found!
[ 0.115210] <1>.(1)[1:swapper/0]cpuidle: using governor mtk_governor
[ 0.116178] <1>.(1)[1:swapper/0]vdso: 2 pages (1 code @ ffffff8008641000, 1 data @ ffffff800888d000)
[ 0.117570] <1>.(1)[1:swapper/0]DMA: preallocated 256 KiB pool for atomic allocations
[ 0.118665] <1>.(1)[1:swapper/0][SPM] PWAKE_EN:1, PCMWDT_EN:0, BYPASS_SYSPWREQ:0, I2C_CHANNEL:2
[ 0.119806] <1>.(1)[1:swapper/0][SLP] SLEEP_DPIDLE_EN:1, REPLACE_DEF_WAKESRC:0, SUSPEND_LOG_EN:1
[ 0.121140] <1>.(1)[1:swapper/0]### CIRQ init done. ###
[ 0.124498] <1>-(1)[1:swapper/0]genirq: Setting trigger mode 2 for irq 17 failed (mtk_sysirq_set_type+0x0/0xc4)
[ 0.127651] <1>.(1)[1:swapper/0]mtk_pctrl_init------ ok
[ 0.146242] <1>.(1)[1:swapper/0][DAPC] [TEE] dapc_register_ext_handler is called by Type_2B slave(0)
[ 0.147713] <1>.(1)[1:swapper/0][TZ_M4U]sec_pt_va=0x0x10a74000, pa=0x4fe74000, align=0x4000
[ 0.148814] <1>.(1)[1:swapper/0][TZ_M4U]check port security larb_base: 0xf4016000 0x0
[ 0.149845] <1>.(1)[1:swapper/0][TZ_M4U]check port security larb_base: 0xf5001000 0x0
[ 0.150890] <1>.(1)[1:swapper/0][TZ_M4U]check port security larb_base: 0xf6010000 0x0
[ 0.151935] <1>.(1)[1:swapper/0][TZ_M4U]init done.(secva0x10a25fe0-0x10a25fe0 pa0x4fe25fe0 sz2M)
[ 0.153090] <1>.(1)[1:swapper/0][DAPC] [TEE] dapc_register_ext_handler is called by Type_2B slave(3)
[ 0.154289] <1>.(1)[1:swapper/0][DAPC] [TEE] dapc_register_ext_handler is called by Type_2B slave(2)
[ 0.155498] <1>.(1)[1:swapper/0][DAPC] [TEE] dapc_register_ext_handler is called by Type_2B slave(6)
[ 0.170048] <1>.(1)[1:swapper/0][cpu_ntf] <00>ffffff8008210560 (blk_cpu_notify)
[ 0.171024] <1>.(1)[1:swapper/0][cpu_ntf] <00>ffffff8008210c68 (blk_iopoll_cpu_notify)
[ 0.172084] <1>.(1)[1:swapper/0][cpu_ntf] <00>ffffff8008216138 (blk_mq_main_cpu_notify)
[ 0.173138] <1>.(1)[1:swapper/0][cpu_ntf] <00>ffffff8008213910 (blk_mq_queue_reinit_notify)
[ 0.177876] <1>.(1)[1:swapper/0]usbcore: registered new interface driver usbfs
[ 0.178891] <1>.(1)[1:swapper/0]usbcore: registered new interface driver hub
[ 0.179920] <1>.(1)[1:swapper/0]usbcore: registered new device driver usb
[ 0.182101] <1>.(1)[1:swapper/0]Advanced Linux Sound Architecture Driver Initialized.
[ 0.183722] <1>.(1)[1:swapper/0][cpu_ntf] <00>ffffff80084dd7dc (dev_cpu_callback)
[ 0.185497] <3>.(3)[1:swapper/0]clocksource: Switched to clocksource arch_sys_counter
[ 0.188285] <3>.(3)[1:swapper/0]NET: Registered protocol family 2
[ 0.189727] <3>.(3)[1:swapper/0]TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.190907] <3>.(3)[1:swapper/0]TCP bind hash table entries: 2048 (order: 3, 32768 bytes)
[ 0.192006] <3>.(3)[1:swapper/0]TCP: Hash tables configured (established 2048 bind 2048)
[ 0.193117] <3>.(3)[1:swapper/0]UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.194140] <3>.(3)[1:swapper/0]UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.195379] <3>.(3)[1:swapper/0]NET: Registered protocol family 1
[ 0.198480] <3>.(3)[1:swapper/0]futex hash table entries: 1024 (order: 5, 131072 bytes)
[ 0.199625] <3>.(3)[1:swapper/0]audit: initializing netlink subsys (disabled)
[ 0.200610] <3>.(3)[1:swapper/0]audit: type=2000 audit(0.184:1): initialized
[ 0.201664] <3>.(3)[1:swapper/0][cpu_ntf] <00>ffffff800811f050 (cpu_callback)
[ 0.213132] <3>.(3)[1:swapper/0]io scheduler noop registered
[ 0.213906] <3>.(3)[1:swapper/0]io scheduler deadline registered
[ 0.214970] <3>.(3)[1:swapper/0]io scheduler cfq registered (default)
[ 0.215857] <3>.(3)[1:swapper/0][cpu_ntf] <00>ffffff8008241b88 (percpu_counter_hotcpu_callback)
[ 0.221702] <3>.(3)[1:swapper/0]Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[FAILED] Failed to start Raise network interfaces.
网络出现问题了,这个要怎么办呢
U-Boot 2019.01-07011-g5ff8217-dirty (Mar 31 2019 - 08:09:08 +0800)
CPU: Zynq 7z010
Silicon: v3.1
Model: Zynq MicroZED Board
I2C: ready
DRAM: ECC disabled 256 MiB
Watchdog: Started
NAND: 128 MiB
MMC: mmc@e0100000: 0
In: serial@e0001000
Out: serial@e0001000
Err: serial@e0001000
Net: ZYNQ GEM: e000b000, phyaddr 0, interface mii
PHY is not detected
GEM PHY init failed
eth-1: ethernet@e000b000ZYNQ GEM: e000c000, phyaddr 1, interface rmii
mdio_register: non unique device name 'eth0'
, eth-1: ethernet@e000c000
384 bytes read in 13 ms (28.3 KiB/s)
Importing environment from SD ...
Hit any key to stop autoboot: 0
!!!
!!! Booting cmd is deprecated (will be removed in 2020).
!!! Please move to distro bootcmd.
!!!
Device: mmc@e0100000
Manufacturer ID: fe
OEM: 3432
Name: SD16G
Bus Speed: 50000000
Mode : SD High Speed (50MHz)
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 29.1 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
384 bytes read in 10 ms (37.1 KiB/s)
Loaded environment from uEnv.txt
Importing environment from SD ...
Running uenvcmd ...
2083852 bytes read in 140 ms (14.2 MiB/s)
design filename = "design_1_wrapper;UserID=0XFFFFFFFF;Version=2018.3"
part number = "7z010clg400"
date = "2019/03/31"
time = "07:11:02"
bytes in bitstream = 2083740
zynq_align_dma_buffer: Align buffer at 100070 to fff80(swap 1)
4487928 bytes read in 273 ms (15.7 MiB/s)
14305 bytes read in 21 ms (665 KiB/s)
## Booting kernel from Legacy Image at 02080000 ...
Image Name: Linux-4.4.30-xillinux-2.0
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4487864 Bytes = 4.3 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 02000000
Booting using the fdt blob at 0x2000000
Loading Kernel Image ... OK
Loading Device Tree to 0eb10000, end 0eb167e0 ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.4.30-xillinux-2.0 (eli@ocho.localdomain) (gcc version 4.7.3 (Sourcery CodeBench Lite 2013.05-40) ) #1 SMP PREEMPT Tue Dec 5 11:54:25 IST 2017 ()
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: Zynq ebit board
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.4.30-xillinux-2.0 (eli@ocho.localdomain) (gcc version 4.7.3 (Sourcery CodeBench Lite 2013.05-40) ) #1 SMP PREEMPT Tue Dec 5 11:54:25 IST 2017 ()
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: Zynq ebit board
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] bootconsole [uart0] enabled
[ 0.000000] bootconsole [uart0] enabled
[ 0.000000] cma: Reserved 16 MiB at 0x0f000000
[ 0.000000] cma: Reserved 16 MiB at 0x0f000000
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] On node 0 totalpages: 65536
[ 0.000000] On node 0 totalpages: 65536
[ 0.000000] free_area_init_node: node 0, pgdat c08c6880, node_mem_map cedaf000
[ 0.000000] free_area_init_node: node 0, pgdat c08c6880, node_mem_map cedaf000
[ 0.000000] Normal zone: 576 pages used for memmap
[ 0.000000] Normal zone: 576 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 65536 pages, LIFO batch:15
[ 0.000000] Normal zone: 65536 pages, LIFO batch:15
[ 0.000000] PERCPU: Embedded 12 pages/cpu @ced8b000 s18880 r8192 d22080 u49152
[ 0.000000] PERCPU: Embedded 12 pages/cpu @ced8b000 s18880 r8192 d22080 u49152
[ 0.000000] pcpu-alloc: s18880 r8192 d22080 u49152 alloc=12*4096[ 0.000000] pcpu-alloc: s18880 r8192 d22080 u49152 alloc=12*4096
[ 0.000000] pcpu-alloc: [ 0.000000] pcpu-alloc: [0] [0] 0 0 [0] [0] 1 1
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64960
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64960
[ 0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk earlycon loglevel=8 rootfstype=ext4 rootwait
[ 0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk earlycon loglevel=8 rootfstype=ext4 rootwait
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 233572K/262144K available (6155K kernel code, 294K rwdata, 2192K rodata, 312K init, 472K bss, 12188K reserved, 16384K cma-reserved, 0K highmem)
[ 0.000000] Memory: 233572K/262144K available (6155K kernel code, 294K rwdata, 2192K rodata, 312K init, 472K bss, 12188K reserved, 16384K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc082f0c4 (8349 kB)
[ 0.000000] .init : 0xc0830000 - 0xc087e000 ( 312 kB)
[ 0.000000] .data : 0xc087e000 - 0xc08c7840 ( 295 kB)
[ 0.000000] .bss : 0xc08c7840 - 0xc093da38 ( 473 kB)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc082f0c4 (8349 kB)
[ 0.000000] .init : 0xc0830000 - 0xc087e000 ( 312 kB)
[ 0.000000] .data : 0xc087e000 - 0xc08c7840 ( 295 kB)
[ 0.000000] .bss : 0xc08c7840 - 0xc093da38 ( 473 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] slcr mapped to d0800000
[ 0.000000] slcr mapped to d0800000
[ 0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
[ 0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
[ 0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
[ 0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
[ 0.000000] L2C-310 erratum[ 0.000000] L2C-310 erratum 769419 769419 enabled
enabled
[ 0.000000] L2C-310 enabling early BRESP for Cortex-A9
[ 0.000000] L2C-310 enabling early BRESP for Cortex-A9
[ 0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[ 0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[ 0.000000] L2C-310 ID prefetch enabled, offset 1 lines
[ 0.000000] L2C-310 ID prefetch enabled, offset 1 lines
[ 0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[ 0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[ 0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[ 0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[ 0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
[ 0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
[ 0.000000] zynq_clock_init: clkc starts at d0800100
[ 0.000000] zynq_clock_init: clkc starts at d0800100
[ 0.000000] Zynq clock init
[ 0.000000] Zynq clock init
[ 0.000011] sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
[ 0.000011] sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
[ 0.015865] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
[ 0.015865] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
[ 0.038011] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
[ 0.038011] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
[ 0.056183] timer #0 at d0808000, irq=17
[ 0.056183] timer #0 at d0808000, irq=17
[ 0.064441] Console: colour dummy device 80x30
[ 0.064441] Console: colour dummy device 80x30
[ 0.073204] Calibrating delay loop... [ 0.073204] Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
1332.01 BogoMIPS (lpj=6660096)
[ 0.169626] pid_max: default: 32768 minimum: 301
[ 0.169626] pid_max: default: 32768 minimum: 301
[ 0.178997] Security Framework initialized
[ 0.178997] Security Framework initialized
[ 0.187111] Yama: becoming mindful.
[ 0.187111] Yama: becoming mindful.
[ 0.194177] AppArmor: AppArmor initialized
[ 0.194177] AppArmor: AppArmor initialized
[ 0.202365] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.202365] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.215575] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.215575] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.230393] Initializing cgroup subsys io
[ 0.230393] Initializing cgroup subsys io
[ 0.238310] Initializing cgroup subsys memory
[ 0.238310] Initializing cgroup subsys memory
[ 0.247057] Initializing cgroup subsys devices
[ 0.247057] Initializing cgroup subsys devices
[ 0.255950] Initializing cgroup subsys freezer
[ 0.255950] Initializing cgroup subsys freezer
[ 0.264854] Initializing cgroup subsys net_cls
[ 0.264854] Initializing cgroup subsys net_cls
[ 0.273751] Initializing cgroup subsys perf_event
[ 0.273751] Initializing cgroup subsys perf_event
[ 0.283191] Initializing cgroup subsys net_prio
[ 0.283191] Initializing cgroup subsys net_prio
[ 0.292272] Initializing cgroup subsys pids
[ 0.292272] Initializing cgroup subsys pids
[ 0.300693] CPU: Testing write buffer coherency: [ 0.300693] CPU: Testing write buffer coherency: ok
ok
[ 0.310657] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.310657] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.321901] Setting up static identity map for 0x82c0 - 0x82f4
[ 0.321901] Setting up static identity map for 0x82c0 - 0x82f4
[ 0.504160] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.504160] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.504263] Brought up 2 CPUs
[ 0.504263] Brought up 2 CPUs
[ 0.521416] SMP: Total of 2 processors activated (2664.03 BogoMIPS).
[ 0.521416] SMP: Total of 2 processors activated (2664.03 BogoMIPS).
[ 0.534139] CPU: All CPU(s) started in SVC mode.
[ 0.534139] CPU: All CPU(s) started in SVC mode.
[ 0.544468] devtmpfs: initialized
[ 0.544468] devtmpfs: initialized
[ 0.555046] evm: security.selinux
[ 0.555046] evm: security.selinux
[ 0.561556] evm: security.SMACK64
[ 0.561556] evm: security.SMACK64
[ 0.568244] evm: security.SMACK64EXEC
[ 0.568244] evm: security.SMACK64EXEC
[ 0.575595] evm: security.SMACK64TRANSMUTE
[ 0.575595] evm: security.SMACK64TRANSMUTE
[ 0.583786] evm: security.SMACK64MMAP
[ 0.583786] evm: security.SMACK64MMAP
[ 0.591153] evm: security.ima
[ 0.591153] evm: security.ima
[ 0.597119] evm: security.capability
[ 0.597119] evm: security.capability
[ 0.604732] VFP support v0.3: [ 0.604732] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
implementor 41 architecture 3 part 30 variant 9 rev 4
[ 0.620199] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.620199] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.640901] pinctrl core: initialized pinctrl subsystem
[ 0.640901] pinctrl core: initialized pinctrl subsystem
[ 0.652783] NET: Registered protocol family 16
[ 0.652783] NET: Registered protocol family 16
[ 0.663664] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.663664] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.689297] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 0.689297] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 0.705203] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.705203] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.717002] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xd0880000
[ 0.717002] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xd0880000
[ 0.730550] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
[ 0.730550] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
[ 0.787490] GPIO IRQ not connected
[ 0.787490] GPIO IRQ not connected
[ 0.794237] XGpio: /amba_pl/gpio@41200000: registered, base is 904
[ 0.794237] XGpio: /amba_pl/gpio@41200000: registered, base is 904
[ 0.806867] GPIO IRQ not connected
[ 0.806867] GPIO IRQ not connected
[ 0.813550] XGpio: /amba_pl/gpio@41210000: registered, base is 899
[ 0.813550] XGpio: /amba_pl/gpio@41210000: registered, base is 899
[ 0.827036] vgaarb: loaded
[ 0.827036] vgaarb: loaded
[ 0.835077] SCSI subsystem initialized
[ 0.835077] SCSI subsystem initialized
[ 0.842941] usbcore: registered new interface driver usbfs
[ 0.842941] usbcore: registered new interface driver usbfs
[ 0.853897] usbcore: registered new interface driver hub
[ 0.853897] usbcore: registered new interface driver hub
[ 0.864538] usbcore: registered new device driver usb
[ 0.864538] usbcore: registered new device driver usb
[ 0.874886] media: Linux media interface: v0.10
[ 0.874886] media: Linux media interface: v0.10
[ 0.883879] Linux video capture interface: v2.00
[ 0.883879] Linux video capture interface: v2.00
[ 0.893260] pps_core: LinuxPPS API ver. 1 registered
[ 0.893260] pps_core: LinuxPPS API ver. 1 registered
[ 0.903084] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.903084] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.921358] PTP clock support registered
[ 0.921358] PTP clock support registered
[ 0.929539] EDAC MC: Ver: 3.0.0
[ 0.929539] EDAC MC: Ver: 3.0.0
[ 0.955065] NetLabel: Initializing
[ 0.955065] NetLabel: Initializing
[ 0.961749] NetLabel: domain hash size = 128
[ 0.961749] NetLabel: domain hash size = 128
[ 0.970521] NetLabel: protocols = UNLABELED CIPSOv4
[ 0.970521] NetLabel: protocols = UNLABELED CIPSOv4
[ 0.980508] NetLabel: unlabeled traffic allowed by default
[ 0.980508] NetLabel: unlabeled traffic allowed by default
[ 0.992011] clocksource: Switched to clocksource arm_global_timer
[ 0.992011] clocksource: Switched to clocksource arm_global_timer
[ 1.004817] AppArmor: AppArmor Filesystem Enabled
[ 1.004817] AppArmor: AppArmor Filesystem Enabled
[ 1.027279] NET: Registered protocol family 2
[ 1.027279] NET: Registered protocol family 2
[ 1.036770] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 1.036770] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 1.050611] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[ 1.050611] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[ 1.063502] TCP: Hash tables configured (established 2048 bind 2048)
[ 1.063502] TCP: Hash tables configured (established 2048 bind 2048)
[ 1.076460] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 1.076460] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 1.088041] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 1.088041] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 1.100807] NET: Registered protocol family 1
[ 1.100807] NET: Registered protocol family 1
[ 1.109824] RPC: Registered named UNIX socket transport module.
[ 1.109824] RPC: Registered named UNIX socket transport module.
[ 1.121560] RPC: Registered udp transport module.
[ 1.121560] RPC: Registered udp transport module.
[ 1.130980] RPC: Registered tcp transport module.
[ 1.130980] RPC: Registered tcp transport module.
[ 1.140403] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.140403] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.153332] PCI: CLS 0 bytes, default 64
[ 1.153332] PCI: CLS 0 bytes, default 64
[ 1.161811] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[ 1.161811] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[ 1.179314] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 1.179314] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 1.191513] audit: initializing netlink subsys (disabled)
[ 1.191513] audit: initializing netlink subsys (disabled)
[ 1.202261] audit: type=2000 audit(1.069:1): initialized
[ 1.202261] audit: type=2000 audit(1.069:1): initialized
[ 1.213338] Initialise system trusted keyring
[ 1.213338] Initialise system trusted keyring
[ 1.222654] VFS: Disk quotas dquot_6.6.0
[ 1.222654] VFS: Disk quotas dquot_6.6.0
[ 1.230445] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 1.230445] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 1.244773] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.244773] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.257135] NFS: Registering the id_resolver key type
[ 1.257135] NFS: Registering the id_resolver key type
[ 1.267156] Key type id_resolver registered
[ 1.267156] Key type id_resolver registered
[ 1.275521] Key type id_legacy registered
[ 1.275521] Key type id_legacy registered
[ 1.283633] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 1.283633] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 1.297056] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 1.297056] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 1.311515] Allocating IMA MOK and blacklist keyrings.
[ 1.311515] Allocating IMA MOK and blacklist keyrings.
[ 1.323393] Key type asymmetric registered
[ 1.323393] Key type asymmetric registered
[ 1.331469] Asymmetric key parser 'x509' registered
[ 1.331469] Asymmetric key parser 'x509' registered
[ 1.341390] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[ 1.341390] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[ 1.356200] io scheduler noop registered
[ 1.356200] io scheduler noop registered
[ 1.363954] io scheduler deadline registered (default)
[ 1.363954] io scheduler deadline registered (default)
[ 1.374269] io scheduler cfq registered
[ 1.374269] io scheduler cfq registered
[ 1.393896] e0000000.serial: ttyPS1 at MMIO 0xe0000000 (irq = 145, base_baud = 6249999) is a xuartps
[ 1.393896] e0000000.serial: ttyPS1 at MMIO 0xe0000000 (irq = 145, base_baud = 6249999) is a xuartps
[ 1.412428] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 146, base_baud = 6249999) is a xuartps
[ 1.412428] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 146, base_baud ▒[ 1.430706] console [ttyPS0] enabled
[ 1.430706] console [ttyPS0] enabled
[ 1.430706] console [ttyPS0] enabled
[ 1.441378] bootconsole [earlycon0] disabled
[ 1.441378] bootconsole [earlycon0] disabled
[ 1.441378] bootconsole [earlycon0] disabled
[ 1.454227] bootconsole [uart0] disabled
[ 1.454227] bootconsole [uart0] disabled
[ 1.462932] xdevcfg f8007000.devcfg: ioremap 0xf8007000 to d0852000
[ 1.485167] brd: module loaded
[ 1.495591] loop: module loaded
[ 1.517212] libphy: Fixed MDIO Bus: probed
[ 1.521835] macb e000b000.ethernet: invalid hw address, using random
[ 1.529455] libphy: MACB_mii_bus: probed
[ 1.535271] macb e000b000.ethernet eth0: no PHY found
[ 1.562379] macb e000c000.ethernet: invalid hw address, using random
[ 1.569476] libphy: MACB_mii_bus: probed
[ 1.652167] macb e000c000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000c000 irq 151 (1a:df:a3:66:a0:e2)
[ 1.662048] macb e000c000.ethernet eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=e000c000.etherne:01, irq=-1)
[ 1.674275] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.680723] ehci-pci: EHCI PCI platform driver
[ 1.685246] ehci-platform: EHCI generic platform driver
[ 1.690597] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.696743] ohci-pci: OHCI PCI platform driver
[ 1.701195] ohci-platform: OHCI generic platform driver
[ 1.706533] uhci_hcd: USB Universal Host Controller Interface driver
[ 1.713030] usbcore: registered new interface driver usb-storage
[ 1.719416] mousedev: PS/2 mouse device common for all mice
[ 1.735523] i2c /dev entries driver
[ 1.740154] device-mapper: uevent: version 1.0.3
[ 1.744999] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: dm-devel@redhat.com
[ 1.753455] sdhci: Secure Digital Host Controller Interface driver
[ 1.759547] sdhci: Copyright(c) Pierre Ossman
[ 1.763926] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.769962] sdhci-arasan e0100000.mmc: No vmmc regulator found
[ 1.775739] sdhci-arasan e0100000.mmc: No vqmmc regulator found
[ 1.822059] mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
[ 1.829690] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.837154] Key type dns_resolver registered
[ 1.841669] Registering SWP/SWPB emulation handler
[ 1.847269] registered taskstats version 1
[ 1.851290] Loading compiled-in X.509 certificates
[ 1.857274] Key type encrypted registered
[ 1.861224] AppArmor: AppArmor sha1 policy hashing enabled
[ 1.866854] ima: No TPM chip found, activating TPM-bypass!
[ 1.872420] evm: HMAC attrs: 0x1
[ 1.876069] hctosys: unable to open rtc device (rtc0)
[ 1.886851] md: Waiting for all devices to be available before autodetect
[ 1.893638] md: If you don't use raid, use raid=noautodetect
[ 1.899340] mmc0: new high speed SDHC card at address 0001
[ 1.905392] mmcblk0: mmc0:0001 SD16G 29.1 GiB
[ 1.910823] mmcblk0: p1 p2
[ 1.915575] md: Autodetecting RAID arrays.
[ 1.919594] md: Scanned 0 and added 0 devices.
[ 1.924058] md: autorun ...
[ 1.926796] md: ... autorun DONE.
[ 2.355765] EXT4-fs (mmcblk0p2): recovery complete
[ 2.361886] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 2.369959] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 2.377109] devtmpfs: mounted
[ 2.380319] Freeing unused kernel memory: 312K (c0830000 - c087e000)
[ 2.923904] systemd[1]: System time before build time, advancing clock.
[ 2.966993] systemd[1]: Failed to insert module 'autofs4': No such file or di[ 3.032693] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybr▒+▒r▒▒▒▒▒▒▒systemd[1]: Detected architecture arm.
Welcome to PynqLinux, based on Ubuntu 18.04!
[ 3.573953] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not sup▒+▒r▒ʂʲ▒▒systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is ▒+▒rʊ▒▒▒▒▒random: systemd: uninitialized urandom read (16 bytes read, 38 bits of[ OK ] Created slice System Slice.ystem Slice.
[ 3.952272] random: systemd: uninitialized urandom read (16 bytes read, 39 bi[ OK ] Created slice system-getty.slice.getty.slice.
[ 3.982191] random: systemd: uninitialized urandom read (16 bytes read, 39 bi[ OK ] Listening on /dev/initctl Compatibility Named Pipe.y Named Pipe.
[ 4.022213] random: systemd: uninitialized urandom read (16 bytes read, 39 bi[ OK ] Listening on udev Control Socket.ntrol Socket.
[ 4.052209] random: systemd: uninitialized urandom read (16 bytes read, 39 bi[ OK ] Created slice system-serial\x2dgetty.slice.2dgetty.slice.
[ 4.082726] random: systemd: uninitialized urandom read (16 bytes read, 39 bi[ OK ] Listening on Journal Audit Socket.udit Socket.
[ 4.112239] random: systemd: uninitialized urandom read (16 bytes read, 39 bi[ OK ] Created slice User and Session Slice.Session Slice.
[ 4.142190] random: systemd: uninitialized urandom read (16 bytes read, 39 bi[ OK ] Reached target Remote File Systems.File Systems.
[ 4.172304] random: systemd: uninitialized urandom read (16 bytes read, 39 bi▒+▒r▒▒▒▒▒systemd[1]: Started Dispatch Password Requests to Console Directory Wa[ OK ] Started Dispatch Password Requests to Console Directory Watch.
[ 4.212186] random: systemd: uninitialized urandom read (16 bytes read, 39 bi[ OK ] Reached target Slices.arget Slices.
[ OK ] Listening on udev Kernel Socket.dev Kernel Socket.
[ OK ] Listening on Journal Socket.on Journal Socket.
Starting Restore / save the current clock...e current clock...
Mounting POSIX Message Queue File System...eue File System...
Starting Remount Root and Kernel File Systems...el File Systems...
Starting Nameserver information manager...rmation manager...
Mounting Kernel Debug File System...bug File System...
[ OK ] Listening on Journal Socket (/dev/log).Socket (/dev/log).
[ OK ] Reached target System Time Synchronized.Time Synchronized.
[ OK ] Listening on Syslog Socket. on Syslog Socket.
Starting Journal Service...Journal Service...
[ OK ] Started ntp-systemd-netif.path.ystemd-netif.path.
Starting Create Static Device Nodes in /dev...e Nodes in /dev...
[ 4.693006] systemd[1]: Started Forward Password Requests to Wall Directory W[ OK ] Started Forward Password Requests to Wall Directory Watch.
[ OK ] Reached target Local Encrypted Volumes.Encrypted Volumes.
Starting Load Kernel Modules... Kernel Modules...
Starting udev Coldplug all Devices...lug all Devices...
[ OK ] Started Journal Service.d Journal Service.
[ OK ] Started Restore / save the current clock.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Started Remount Root and Kernel File Systems.
[ OK ] Mounted Kernel Debug File System.
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Started Load Kernel Modules.
[ OK ] Started Nameserver information manager.
[ OK ] Reached target Network (Pre).
Starting Apply Kernel Variables...
[ OK ] Reached target Local File Systems (Pre).
Starting udev Kernel Device Manager...
[ OK ] Reached target Local File Systems.
Starting Enable support for additional executable binary formats...
Starting Load/Save Random Seed...
Activating swap /var/swap...
Starting Flush Journal to Persistent Storage...
[ OK ] Started Apply Kernel Variables.
[ OK ] Started Enable support for additional executable binary formats.
Starting Raise network interfaces...
[ OK ] Started Load/Save Random Seed.
[ OK ] Started udev Kernel Device Manager.
[ OK ] Started udev Coldplug all Devices.
[ OK ] Activated swap /var/swap.
[ OK ] Reached target Swap.
[ OK ] Found device /dev/ttyPS0.
[ OK ] Started Flush Journal to Persistent Storage.
Starting Create Volatile Files and Directories...
[ OK ] Started Create Volatile Files and Directories.
Starting Network Name Resolution...
Starting Network Time Synchronization...
Starting Update UTMP about System Boot/Shutdown...
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Started Network Name Resolution.
[ OK ] Found device /sys/subsystem/net/devices/eth0.
[ OK ] Started Network Time Synchronization.
[ OK ] Started ifup for eth0.
[ OK ] Reached target Host and Network Name Lookups.
[ OK ] Reached target System Initialization.
[ OK ] Started Discard unused blocks once a week.
[ OK ] Started Message of the Day.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Started resolvconf-pull-resolved.path.
[ OK ] Reached target Paths.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
Starting System Logging Service...
Starting PYNQ PL Server...
Starting Login Service...
Starting Resize Filesystem on SD card...
Starting Jupyter Notebook Server...
Starting resolvconf-pull-resolved.service...
[ OK ] Started D-Bus System Message Bus.
[ OK ] Started Login Service.
[ OK ] Started Regular background program processing daemon.
[ OK ] Started ntp-systemd-netif.service.
[ OK ] Started Daily apt download activities.
[ OK ] Started Daily apt upgrade and clean activities.
[ OK ] Reached target Timers.
Starting WPA supplicant...
[ OK ] Started Set the CPU Frequency Scaling governor.
Starting LSB: Load kernel modules needed to enable cpufreq scaling...
[ OK ] Started System Logging Service.
[ OK ] Started PYNQ PL Server.
[ OK ] Started Resize Filesystem on SD card.
[ OK ] Started resolvconf-pull-resolved.service.
[ OK ] Started WPA supplicant.
[FAILED] Failed to start Raise network interfaces.
See 'systemctl status networking.service' for details.
[ OK ] Reached target Network.
Starting Permit User Sessions...
[ OK ] Reached target Network is Online.
[ OK ] Started ISC DHCP IPv6 server.
[ OK ] Started ISC DHCP IPv4 server.
Starting Samba NMB Daemon...
Starting OpenBSD Secure Shell server...
[ OK ] Started Unattended Upgrades Shutdown.
[ OK ] Started Permit User Sessions.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttyPS0.
[ OK ] Reached target Login Prompts.
[ OK ] Started LSB: Load kernel modules needed to enable cpufreq scaling.
Starting LSB: set CPUFreq kernel parameters...
[ OK ] Started LSB: set CPUFreq kernel parameters.
[ OK ] Started OpenBSD Secure Shell server.
[ OK ] Started Samba NMB Daemon.
Starting Samba SMB Daemon...
[ OK ] Started Samba SMB Daemon.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Started Update UTMP about System Runlevel Changes.
PYNQ Linux, based on Ubuntu 18.04 pynq ttyPS0
pynq login: xilinx (automatic login)
Last login: Mon Sep 10 19:44:12 UTC 2018 on ttyPS0
Welcome to PYNQ Linux, based on Ubuntu 18.04 (GNU/Linux 4.4.30-xillinux-2.0 armv7l)
我也是,你的问题解决了吗
没辙了,怎么调试ESP8089/8266都没反应.
有没有哪位大佬能够指点一二?
用的是f1c100s的PA0-PA3做SPI1,ESP8089和8266都试过,换了几块板子了,感觉芯片都没有响应。。。
终端输出:
root@pop-os:~# insmod /lib/modules/5.2.0-licheepi-nano+/esp8089-spi.ko esp_reset_gpio=130 esp_cs0_pin=0 esp_interrupt=131 [ 100.487205] esp8089_spi: loading out-of-tree module taints kernel. [ 100.502255] esp8089_spi: EAGLE DRIVER VER bdf5087c3deb [ 101.107979] esp8089_spi: esp_spi_dummy_probe enter [ 101.113372] esp8089_spi: register board OK [ 101.117707] esp8089_spi: sem_timeout = 0 [ 101.339049] esp8089_spi: ESP8089 power up OK [ 101.344184] esp8089_spi: esp_spi_probe ENTER [ 101.348713] esp8089_spi: esp_setup_spi [ 101.352844] esp8089_spi: sif_spi_protocol_init [ 101.357535] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 101.366256] esp8089_spi: fail_count = 0 [ 101.484912] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 101.593085] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 101.601821] esp8089_spi: fail_count = 1 [ 101.711623] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 101.819797] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 101.828460] esp8089_spi: fail_count = 2 [ 101.938086] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 102.046329] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 102.055057] esp8089_spi: fail_count = 3 [ 102.170503] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 102.290458] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 102.311082] esp8089_spi: fail_count = 4 [ 102.427085] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 102.546976] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 102.567478] esp8089_spi: fail_count = 5 [ 102.683231] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 102.803629] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 102.825123] esp8089_spi: fail_count = 6 [ 102.941701] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 103.063014] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 103.084966] esp8089_spi: fail_count = 7 [ 103.201628] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 103.322898] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 103.344858] esp8089_spi: fail_count = 8 [ 103.461802] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 103.583043] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 103.604976] esp8089_spi: fail_count = 9 [ 103.721343] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 103.842613] esp8089_spi: /home/dozh/embedded_linux/f1c200s/ESP8089-SPI/spi_sif_esp.c, 1559 [ 103.864570] esp8089_spi: fail_count = 10 [ 103.981306] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00] [ 104.102631] esp8089_spi: first error exit [ 104.113547] esp8089_spi: esp_spi_probe EXIT [ 104.124558] eagle: probe of spi1.0 failed with error -110 [ 104.137024] esp8089_spi: sem_timeout = 0 [ 104.147740] esp8089_spi: esp_spi_init err 0 root@pop-os:~#
原理图:
https://whycan.cn/files/members/2701/Snipaste_2020-07-28_22-35-28.png逻辑分析仪吐出来的时序图:
https://whycan.cn/files/members/2701/Snipaste_2020-07-28_22-42-07.png
https://whycan.cn/files/members/2701/Snipaste_2020-07-28_22-48-52.pngESP8266串口0输出的启动信息:
ets Jan 8 2013,rst cause:1, boot mode:(6,2) ets Jan 8 2013,rst cause:1, boot mode:(6,6) waiting for host ets Jan 8 2013,rst cause:1, boot mode:(6,6) waiting for host
我的几乎都是这样,可能几十次之中会有一个能够接受到数据的
root@lign-G3-3579:~# insmod esp8089-spi.ko esp_reset_gpio=100 esp_interrupt=101
[ 40.118584] esp8089_spi: loading out-of-tree module taints kernel.
[ 40.141832] esp8089_spi: EAGLE DRIVER VER bdf5087c3deb
[ 40.747336] esp8089_spi: esp_spi_dummy_probe enter
[ 40.752689] esp8089_spi: register board OK
[ 40.757011] esp8089_spi: sem_timeout = 0
[ 40.978375] esp8089_spi: ESP8089 power up OK
[ 40.983429] esp8089_spi: esp_spi_probe ENTER
[ 40.987947] esp8089_spi: esp_setup_spi
[ 41.029403] esp8089_spi: sif_spi_protocol_init
[ 41.034135] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 41.042747] esp8089_spi: fail_count = 0
[ 41.179144] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 41.287232] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 41.295755] esp8089_spi: fail_count = 1
[ 41.408015] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 41.516195] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 41.524725] esp8089_spi: fail_count = 2
[ 41.636543] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 41.744690] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 41.753208] esp8089_spi: fail_count = 3
[ 41.866619] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 41.974690] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 41.994558] esp8089_spi: fail_count = 4
[ 42.115036] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 42.234544] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 42.254508] esp8089_spi: fail_count = 5
[ 42.383613] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 42.503734] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 42.524648] esp8089_spi: fail_count = 6
[ 42.649902] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 42.770822] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 42.792176] esp8089_spi: fail_count = 7
[ 42.913071] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 43.033852] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 43.055174] esp8089_spi: fail_count = 8
[ 43.173997] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 43.294812] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 43.316164] esp8089_spi: fail_count = 9
[ 43.513360] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 43.634279] esp8089_spi: /home/lign/work/lichee/linux_sd/ESP8089-SPI/spi_sif_esp.c, 1559
[ 43.655658] esp8089_spi: fail_count = 10
[ 43.775698] rx:[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[ 43.896530] esp8089_spi: first error exit
[ 43.907218] esp8089_spi: esp_spi_probe EXIT
[ 43.918009] eagle: probe of spi1.0 failed with error -110
[ 43.930260] esp8089_spi: sem_timeout = 0
[ 43.940746] esp8089_spi: esp_spi_init err 0
在这里存一个我的debian系统启动日志,在ubuntu20.04LTS编译的,里面还有一堆问题,慢慢解决吧
U-Boot SPL 2018.01-05679-g013ca457fd (Aug 04 2020 - 19:41:13)
DRAM: 32 MiB
Trying to boot from MMC1
U-Boot 2018.01-05679-g013ca457fd (Aug 04 2020 - 19:41:13 +0800) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 32 MiB
MMC: SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
279 bytes read in 15 ms (17.6 KiB/s)
## Executing script at 80c50000
reading suniv-f1c100s-licheepi-nano.dtb
7583 bytes read in 26 ms (284.2 KiB/s)
reading zImage
3836280 bytes read in 202 ms (18.1 MiB/s)
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 816fb000, end 816ffd9e ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.15.0-rc8-licheepi-nano+ (lign@lign-G3-3579) (gcc version 7.2.1 20171011 (Lina0
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt: Machine model: Lichee Pi Nano
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] random: fast init done
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: console=tty0 console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 rw
[ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Memory: 22684K/32768K available (6144K kernel code, 236K rwdata, 1388K rodata, 1024K init, 24)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xc2800000 - 0xff800000 ( 976 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc2000000 ( 32 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (7136 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 237 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 245 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000045] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000109] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000632] Console: colour dummy device 80x30
[ 0.001541] console [tty0] enabled
[ 0.001646] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070279] pid_max: default: 32768 minimum: 301
[ 0.070614] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070708] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.072156] CPU: Testing write buffer coherency: ok
[ 0.073847] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.076430] devtmpfs: initialized
[ 0.082710] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000s
[ 0.082874] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.083179] pinctrl core: initialized pinctrl subsystem
[ 0.085175] NET: Registered protocol family 16
[ 0.086605] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.088461] cpuidle: using governor menu
[ 0.113667] SCSI subsystem initialized
[ 0.114081] usbcore: registered new interface driver usbfs
[ 0.114284] usbcore: registered new interface driver hub
[ 0.114536] usbcore: registered new device driver usb
[ 0.115023] pps_core: LinuxPPS API ver. 1 registered
[ 0.115102] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.115226] PTP clock support registered
[ 0.115711] Advanced Linux Sound Architecture Driver Initialized.
[ 0.117263] clocksource: Switched to clocksource timer
[ 0.142997] NET: Registered protocol family 2
[ 0.144457] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.144610] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.144698] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.145008] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.145116] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.145623] NET: Registered protocol family 1
[ 0.146863] RPC: Registered named UNIX socket transport module.
[ 0.146973] RPC: Registered udp transport module.
[ 0.147022] RPC: Registered tcp transport module.
[ 0.147069] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.149374] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.151230] Initialise system trusted keyrings
[ 0.151847] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[ 0.169096] NFS: Registering the id_resolver key type
[ 0.169266] Key type id_resolver registered
[ 0.169324] Key type id_legacy registered
[ 0.182591] Key type asymmetric registered
[ 0.182700] Asymmetric key parser 'x509' registered
[ 0.182939] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[ 0.183034] io scheduler noop registered
[ 0.183081] io scheduler deadline registered
[ 0.183856] io scheduler cfq registered (default)
[ 0.183952] io scheduler mq-deadline registered
[ 0.184006] io scheduler kyber registered
[ 0.185120] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.194687] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.360320] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.366874] console [ttyS0] disabled
[ 0.387192] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 23, base_baud = 6250000) is a 16550A
[ 0.858334] console [ttyS0] enabled
[ 0.868820] panel-simple panel: panel supply power not found, using dummy regulator
[ 0.878297] SCSI Media Changer driver v0.25
[ 0.885945] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.893356] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.900090] ehci-platform: EHCI generic platform driver
[ 0.905660] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.912020] ohci-platform: OHCI generic platform driver
[ 0.917753] usbcore: registered new interface driver usb-storage
[ 0.924746] udc-core: couldn't find an available UDC - added [g_cdc] to list of pending drivers
[ 0.933893] i2c /dev entries driver
[ 0.997390] sunxi-mmc 1c0f000.mmc: base:0x19fc4356 irq:19
[ 1.004869] usbcore: registered new interface driver usbhid
[ 1.010644] usbhid: USB HID core driver
[ 1.032408] NET: Registered protocol family 17
[ 1.037187] Key type dns_resolver registered
[ 1.043918] Loading compiled-in X.509 certificates
[ 1.059894] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc0739498)
[ 1.068873] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc073877c)
[ 1.076627] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.083392] [drm] No driver support for vblank timestamp query.
[ 1.139881] Console: switching to colour frame buffer device 60x34
[ 1.142302] mmc0: host does not support reading read-only switch, assuming write-enable
[ 1.144425] mmc0: new high speed SDHC card at address aaaa
[ 1.145530] mmcblk0: mmc0:aaaa SU04G 3.69 GiB
[ 1.147775] mmcblk0: p1 p2
[ 1.210025] sun4i-drm display-engine: fb0: frame buffer device
[ 1.229452] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[ 1.251131] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dur
[ 1.281958] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.300729] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.323889] hub 1-0:1.0: USB hub found
[ 1.334487] hub 1-0:1.0: 1 port detected
[ 1.346660] using random self ethernet address
[ 1.357775] using random host ethernet address
[ 1.370414] usb0: HOST MAC 9e:9e:f1:32:4e:96
[ 1.381226] usb0: MAC 7a:14:56:71:d9:b6
[ 1.391517] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008
[ 1.411527] g_cdc gadget: g_cdc ready
[ 1.422311] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.452108] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.471288] ALSA device list:
[ 1.480526] #0: Loopback 1
[ 1.490371] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.511183] cfg80211: failed to load regulatory.db
[ 1.525074] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
[ 4.375320] random: crng init done
[ 13.218522] EXT4-fs (mmcblk0p2): recovery complete
[ 13.231022] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 13.251163] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 13.269447] devtmpfs: mounted
[ 13.283054] Freeing unused kernel memory: 1024K
[ 13.806441] systemd[1]: System time before build time, advancing clock.
[ 13.843921] systemd[1]: Failed to insert module 'autofs4': No such file or directory
[ 13.907908] systemd[1]: systemd 232 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +)
[ 13.951686] systemd[1]: Detected architecture arm.
Welcome to Debian GNU/Linux 9 (stretch)!
[ 13.999607] systemd[1]: Set hostname to <lign-G3-3579>.
[ 15.579686] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Started Dispatch Password Requests to Console Directory Watch.
[ 15.639666] systemd[1]: Created slice System Slice.
[ OK ] Created slice System Slice.
[ 15.695221] systemd[1]: Mounting Debug File System...
Mounting Debug File System...
[ 15.717544] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ OK ] Created slice system-serial\x2dgetty.slice.
[ 15.781726] systemd[1]: Listening on Journal Socket.
[ OK ] Listening on Journal Socket.
[ 15.834835] systemd[1]: Starting Remount Root and Kernel File Systems...
Starting Remount Root and Kernel File Systems...
[ 15.965658] systemd[1]: Starting Load Kernel Modules...
Starting Load Kernel Modules...
[ OK ] Reached target Swap.
[ OK ] Listening on Journal Socket (/dev/log).
[ OK ] Listening on udev Kernel Socket.
[ OK ] Listening on udev Control Socket.
[ OK ] Started Forward Password Requests to Wall Directory Watch.
[ OK ] Reached target Paths.
Starting Create Static Device Nodes in /dev...
[ OK ] Created slice system-getty.slice.
[ OK ] Reached target Encrypted Volumes.
[ OK ] Listening on Syslog Socket.
Starting Journal Service...
[ OK ] Reached target Remote File Systems.
[ OK ] Listening on /dev/initctl Compatibility Named Pipe.
[ OK ] Reached target Sockets.
[ OK ] Reached target Slices.
[ OK ] Mounted Debug File System.
[ OK ] Started Remount Root and Kernel File Systems.
[ OK ] Started Load Kernel Modules.
[ OK ] Started Create Static Device Nodes in /dev.
Starting udev Kernel Device Manager...
Mounting Configuration File System...
Starting Apply Kernel Variables...
Starting Load/Save Random Seed...
Starting udev Coldplug all Devices...
[ OK ] Reached target Local File Systems (Pre).
[ OK ] Reached target Local File Systems.
[ OK ] Mounted Configuration File System.
[ OK ] Started Apply Kernel Variables.
Starting Raise network interfaces...
[ OK ] Started Load/Save Random Seed.
[ OK ] Started udev Kernel Device Manager.
[ OK ] Started Journal Service.
Starting Flush Journal to Persistent Storage...
[ 18.629046] systemd-journald[78]: Received request to flush runtime journal from PID 1
[ OK ] Started Flush Journal to Persistent Storage.
Starting Create Volatile Files and Directories...
[ OK ] Started Create Volatile Files and Directories.
Starting Update UTMP about System Boot/Shutdown...
Starting Network Time Synchronization...
[ OK ] Started Network Time Synchronization.
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Started Raise network interfaces.
[ OK ] Reached target Network.
[ OK ] Reached target System Time Synchronized.
[ OK ] Reached target Sound Card.
[ OK ] Started udev Coldplug all Devices.
[ OK ] Reached target System Initialization.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Basic System.
Starting getty on tty2-tty6 if dbus and logind are not available...
[ OK ] Started Regular background program processing daemon.
Starting System Logging Service...
Starting Permit User Sessions...
[ OK ] Started Daily apt download activities.
[ OK ] Started Daily apt upgrade and clean activities.
[ OK ] Reached target Timers.
[ OK ] Found device /dev/ttyS0.
[ OK ] Started System Logging Service.
[ OK ] Started Permit User Sessions.
[ OK ] Started getty on tty2-tty6 if dbus and logind are not available.
[ OK ] Started Getty on tty6.
[ OK ] Started Getty on tty5.
[ OK ] Started Getty on tty4.
[ OK ] Started Getty on tty3.
[ OK ] Started Getty on tty2.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttyS0.
[ OK ] Reached target Login Prompts.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Started Update UTMP about System Runlevel Changes.
Debian GNU/Linux 9 lign-G3-3579 ttyS0
lign-G3-3579 login: lign
Password:
Login incorrect
lign-G3-3579 login: root
Password:
Linux lign-G3-3579 4.15.0-rc8-licheepi-nano+ #1 Tue Aug 4 10:58:22 CST 2020 armv5tejl
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@lign-G3-3579:~#
https://mirrors.tuna.tsinghua.edu.cn/debian/
楼主那个网址我使用了没反应,然后我就进入那个网址,它自动跳到了这个网址,我就直接使用了这个
最后是fbtft的设置:
内核配置
Device Drivers --->
[*] Staging driverst --->
<*> Support for small TFT LCD display modules --->
<*> FB driver for the ST7789V LCD Controller
<*> Generic ....
<*> Module .....
把这些都编译进内核,修改dts文件,添加st7789的节点(参考的荔枝派 zero的点屏之SPI屏)
根节点下/
spi2:spi2{
compatible = "spi-gpio";
#address-cells = <0x1>;
#size-cells = <0>;
//ranges;
gpio-miso = <&pio 3 3 1>;
gpio-mosi = <&pio 3 4 1>;
gpio-sck = <&pio 3 5 1>;
cs-gpios = <&pio 3 6 1>;
num-chipselects = <1>;
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
spidev2 {
status="disable";
#address-cells = <1>;
#size-cells = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <20000000>;
reg = <0>;
};
st7789 {
compatible = "sitronix,st7789v";
reg = <0>;
spi-max-frequency = <50000000>;
rotate = <270>;
bgr;
width=<240>;
height=<240>;
fps = <30>;
buswidth = <9>;
reset-gpios = <&pio 3 0 GPIO_ACTIVE_LOW>;
//dc-gpios = <&pio 1 5 GPIO_ACTIVE_LOW>;
debug = <0>;
};
pio节点里
&pio{
spi2_pins_a: spi2-pins-pc {
pins = "PD3", "PD4", "PD5", "PD6";
function = "gpio_out";
bias-pull-up;
};
};
可以看这个修改屏幕的一些参数FBTFT devices tree
烧录进去后屏幕会在内核启动时初始化为白色,启动日志中有fb相关的启动
首先是gpio模拟spi,在linux的
Device Drivers --->
[*] SPI support --->
<*> GPIO-based bitbanging SPI Master
这里开启,然后在设备树的根节点下添加节点
spi2:spi2{
compatible = "spi-gpio";
#address-cells = <0x1>;
#size-cells = <0>;
//ranges;
gpio-miso = <&pio 3 3 1>;
gpio-mosi = <&pio 3 4 1>;
gpio-sck = <&pio 3 5 1>;
cs-gpios = <&pio 3 6 1>;
num-chipselects = <1>;
pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>;
spidev2 {
status="disable";
#address-cells = <1>;
#size-cells = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <20000000>;
reg = <0>;
};
};
这里添加了一个测试设备,可以用tools/spi里面的测试文件进行测试spi是否配置成功
其中pinctrl是这么配置的
&pio{
spi2_pins_a: spi2-pins-pc {
pins = "PD3", "PD4", "PD5", "PD6";
function = "gpio_out";
bias-pull-up;
};
};
只在spi2那里面设置引脚是并不能直接使用的,虽然能在系统中找到设备,但是连接miso和mosi后操作spi发送信息并不会收到任何信息,gpio的表现为没有配置,没有任何变化
在pinctrl里面要声明使用的引脚,然后在使用它gpio模拟iic的,应该是类似的
可以参考一下这个gpio模拟spi的例子
在根节点下加入
spi2:spi2{
compatible = "spi-gpio";
#address-cells = <0x1>;
#size-cells = <0>;
//ranges;
gpio-sck = <&pio 3 0 1>;
gpio-miso = <&pio 3 1 1>;
gpio-mosi = <&pio 3 2 1>;
cs-gpios = <&pio 3 3 1>;
num-chipselects = <1>;
pinctrl-names = "default";//注意这两排
pinctrl-0 = <&spi2_pins_a>;//
spidev2 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <20000000>;
reg = <0>;
};
};
在pinctrl里面加入
&pio{
spi2_pins_a: spi2-pins-pc {
pins = "PD0", "PD1", "PD2", "PD3";
function = "gpio_out";
bias-pull-up;
};
};
一、linux驱动入门之hello驱动
按照B站的韦东山的视频学习的,入门linux
【韦东山】韦东山升级版全系列嵌入式视频_快速入门篇
文件中使用的是
CROSS_COMPILE=arm-linux-
编译的,此编译链来自buildroot,已经生成了ko文件和应用程序可执行文件,可下载到板子上运行
(需要先将编译链加入path)
export PATH=$PATH:/home/lign/work/lichee/buildroot-2018.11-rc3/output/host/bin
直接使用make命令生成(使用buildroot的编译链,在makefile中可更改)
linux文件夹的位置也需要更改
http://www.icomm-semi.com/product/info/id/129.html
这个是芯片介绍链接,Andes 晶心内核,使用串口或者USB下载
页次: 1