页次: 1
用全志官方给的测试固件上面log打印的是480X272,我的也改过来了
[lcd0]
lcd_used = 1
lcd_driver_name = "default_lcd"
lcd_if = 0
lcd_x = 480
lcd_y = 272
lcd_width = 150
lcd_height = 94
lcd_dclk_freq = 33
lcd_pwm_used = 0
lcd_pwm_ch = 0
lcd_pwm_freq = 10000
lcd_pwm_pol = 0
lcd_hbp = 46
lcd_ht = 1055
lcd_hspw = 0
lcd_vbp = 23
lcd_vt = 525
lcd_vspw = 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_lvds_if = 0
lcd_lvds_colordepth = 1
lcd_lvds_mode = 0
lcd_lvds_ch = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 0
lcd_io_phase = 0x0000
lcd_gamma_en = 0
lcd_bright_curve_en = 0
lcd_cmap_en = 0
deu_mode = 0
lcdgamma4iep = 22
lcd_io_cfg0 = 0x04000000
smart_color = 90
lcd_bl_en_used = 1
lcd_bl_en = port:PE12<1><0><default><1>
lcd_power = port:PA00<1><0><default><1>
lcdd3 = port:PD01<2><0><default><default>
lcdd4 = port:PD02<2><0><default><default>
lcdd5 = port:PD03<2><0><default><default>
lcdd6 = port:PD04<2><0><default><default>
lcdd7 = port:PD05<2><0><default><default>
lcdd10 = port:PD06<2><0><default><default>
lcdd11 = port:PD07<2><0><default><default>
lcdd12 = port:PD08<2><0><default><default>
lcdd13 = port:PD09<2><0><default><default>
lcdd14 = port:PD10<2><0><default><default>
lcdd15 = port:PD11<2><0><default><default>
lcdd19 = port:PD13<2><0><default><default>
lcdd20 = port:PD14<2><0><default><default>
lcdd21 = port:PD15<2><0><default><default>
lcdd22 = port:PD16<2><0><default><default>
lcdd23 = port:PD17<2><0><default><default>
lcdclk = port:PD18<2><0><default><default>
lcdde = port:PD19<2><0><default><default>
;lcdhsync = port:PD20<2><0><default><default>
;lcdvsync = port:PD21<2><0><default><default>
heirun 说:我现在想将UART1改成UART0;修改了sys_config.fex文件将uart_debug_port改成了0,还修改了.config文件;然后发现使用PhoenixSuit软件烧入不了(之前使用UART1是可以的),研究好久发现UBOOT里面的sunivw1p1.h文件需要修改CONFIG_CONS_INDEX的定义为1,改完后可以正常烧入系统也能起来,但是串口输入不了,不清楚是不是还有哪里没改对?
在rootfs系统里面,/etc/inittab,有定义终端使用串口,应该也要改一下
# Put a getty on the serial port
ttyS1::respawn:/sbin/getty -L ttyS1 115200 vt100 # GENERIC_SERIAL
这个是要怎么改的呀,我改了这个文件以后编译又被替换成ttyS1了
INFO: build rootfs ...
Could not get object for HEAD. Skipping.
error: refs/heads/master does not point to a valid object!
error: refs/remotes/origin/HEAD does not point to a valid object!
error: refs/remotes/origin/master does not point to a valid object!
fatal: bad object HEAD
make: Entering directory `/home3/heirun/nano/C600/f1c600/buildroot'
/bin/sed -i -e '/# GENERIC_SERIAL$/s~^.*#~ttyS1::respawn:/sbin/getty -n -l /bin/ash -L ttyS1 115200 vt100 #~' \
/home3/heirun/nano/C600/f1c600/out/sunivw1p1/linux/common/buildroot/target/etc/inittab
是改成这样吗:
[uart_para]
uart_debug_port = 1
uart_debug_tx = port:PE1<5><1><default><default>
uart_debug_rx = port:PE0<5><1><default><default>确认硬件连接没有问题, 串口线没有问题?
我是这样改的
[uart_para]
uart_debug_port = 0
uart_debug_tx = port:PE1<5><1><default><default>
uart_debug_rx = port:PE0<5><1><default><default>,port选的0,硬件连接是没有问题的,串口线也没有问题,我用一个UART0的镜像是完全没问题的。
简单总结一下编译BSP的步骤
按照 step by step 编译全志 f1c100s 官方linux bsp 装好编译环境需要的软件
然后更新一下awk
sudo apt-get install gawk
更新依据 https://blog.csdn.net/dpppppp/article/details/53018132下载源代码包并解压,第一楼里面的有链接
@assert 大神的f1c100s.tar.bz2代码包里面,需要将linux-3.10/drivers/mtd/devices/m25p80.c恢复原来的文件,@assert的代码包对spi做了分区处理,但和原厂bsp冲突,所以要恢复
还有,如果用@assert的包,需要重新下载buildroot/dl目录里面的文件(nano官方的包是文件最齐全的,可以用nano官方的包里面的文件)进入解压目录,执行./build.sh,运行过程中有三次出错,参照下面的链接修正错误
https://blog.csdn.net/laohuang1122/article/details/44098291/build完成后,运行./build.sh pack 生成镜像文件
镜像文件 tools/pack/sunivw1p1_linux_evb_uart0.img,用全志的工具刷进去nano就可以了
这个镜像文件有29M多,实际上包含了spi系统用的16M镜像和sd卡用的镜像,全志的工具可以自动识别具体环境刷镜像(我尝试刷sd卡,能正常刷完成,但sd卡启动到内核,显示start kernel就停住了,因为我计划用spi,所以没有继续研究下去)
如果用sunxi-fel.exe来刷,直接找tools/pack/out/full_img.fex这个文件,这个就是spi用的镜像如果接串口调试,要接uart1
之前我一直接uart0,看代码包里面也针对nano硬件改了设备树的参数,以为是uart0,一直没输出,没找到问题,后来是晕哥提醒我用其他uart试一下,结果发现官方的bsp是用uart1的
我现在想将UART1改成UART0;修改了sys_config.fex文件将uart_debug_port改成了0,还修改了.config文件;然后发现使用PhoenixSuit软件烧入不了(之前使用UART1是可以的),研究好久发现UBOOT里面的sunivw1p1.h文件需要修改CONFIG_CONS_INDEX的定义为1,改完后可以正常烧入系统也能起来,但是串口输入不了,不清楚是不是还有哪里没改对?
iki1120 说:固件大小只有一半,不能正常启动kernel的原因可能是分区配置和产品配置的问题。
建议晕哥尝试:
1,在linux-3.10上层目录执行./build.sh config进行产品配置
2,在tools目录查找sys_partition.fex,使用nor的话,应该是sys_partition_nor.fex。
看看分区是否合理。那个问题后来解决了。
现在是用全志官方软件根本烧不进去,
换几台电脑都不行,
一开始能烧进去的 img 现在换了5台都不行。https://whycan.cn/files/members/3/165923gsascz2dhd2tadmv.png
现在改用开源的 sunxi-fel, 一点问题都没有。
自己处理烧写地址问题.
晕哥,请教一下,C600编译出来的是img镜像,如何使用sunxi-fel进行烧录呢?
页次: 1