您尚未登录。

#1 Re: 全志 SOC » 请教怎么把uboot中显示的logo保留到linux启动完成以后(可以付费) » 2021-01-04 16:30:55

hpxzw520 说:

应该是可以等logo显示后把fb关掉,然后等开机后再打开fb

每个人的情况可能不一样,我的情况应该是,linux kernel把uboot分配的显存给回收掉了。

#2 Re: 全志 SOC » 请教怎么把uboot中显示的logo保留到linux启动完成以后(可以付费) » 2021-01-04 16:10:28

shaoxi2010 说:

我记得SDK本身就不会黑啊

我用的sinlinx的sdk,您还记得用的什么sdk吗?

#4 Re: 全志 SOC » 请教怎么把uboot中显示的logo保留到linux启动完成以后(可以付费) » 2021-01-04 09:50:12

分享一下修改代码:
修改文件linux-3.4/mm/bootmem.c中free_all_bootmem_core函数,其中有中文注解的部分是我加的代码。

static unsigned long __init free_all_bootmem_core(bootmem_data_t *bdata)
{
	struct page *page;
	unsigned long start, end, pages, count = 0;

	if (!bdata->node_bootmem_map)
		return 0;

	start = bdata->node_min_pfn;
	end = bdata->node_low_pfn;

	printk(KERN_NOTICE"nid=%td start=%lx end=%lx\n",
		bdata - bootmem_node_data, start, end);

	while (start < end) {
		unsigned long *map, idx, vec;

		map = bdata->node_bootmem_map;
		idx = start - bdata->node_min_pfn;
		vec = ~map[idx / BITS_PER_LONG];
		/*
		 * If we have a properly aligned and fully unreserved
		 * BITS_PER_LONG block of pages in front of us, free
		 * it in one go.
		 */
		if (IS_ALIGNED(start, BITS_PER_LONG) && vec == ~0UL) {
			int order = ilog2(BITS_PER_LONG);
			if(start==0x46400){ //保留uboot framebuffer所用的页面 andrew AICHIP 2021.1.2
				//因为我的屏幕是480*272的,所以保留BITS_PER_LONG*4就够了。
				count += BITS_PER_LONG*4;
				start += BITS_PER_LONG*4;
			}
			__free_pages_bootmem(pfn_to_page(start), order);
			count += BITS_PER_LONG;
			start += BITS_PER_LONG;
		} else {
			unsigned long off = 0;

			while (vec && off < BITS_PER_LONG) {
				if (vec & 1) {
					page = pfn_to_page(start + off);
					__free_pages_bootmem(page, 0);
					count++;
				}
				vec >>= 1;
				off++;
			}
			start = ALIGN(start + 1, BITS_PER_LONG);
		}
	}

	page = virt_to_page(bdata->node_bootmem_map);
	pages = bdata->node_low_pfn - bdata->node_min_pfn;
	pages = bootmem_bootmap_pages(pages);
	count += pages;
	while (pages--)
		__free_pages_bootmem(page++, 0);

	bdebug("nid=%td released=%lx\n", bdata - bootmem_node_data, count);

	return count;
}

#5 Re: 全志 SOC » 请教怎么把uboot中显示的logo保留到linux启动完成以后(可以付费) » 2021-01-02 21:58:14

已经暴力解决。我经过调试以后发现,我这的问题是由于linux kernel启动的时候把uboot使用的framebuffer所在的内存释放了(mem_init->free_all_bootmem)。我尝试了多了方法进行了调整,均无效。最好强制修改了free_all_bootmem的代码,把framebuffer所在的页保留下来了。

#6 Re: 全志 SOC » 请教怎么把uboot中显示的logo保留到linux启动完成以后(可以付费) » 2021-01-02 00:01:40

raspberryman 说:

请问V3s Simple Framebuffer 启动之后,就把uboot显示的图片给清理了,两秒黑屏才进入app, 有什么办法不让他清屏呢
http://whycan.com/t_4689.html#p46932
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)



适合 simplefb驱动, 估计不适合drm驱动

谢谢,我学习一下。

#7 全志 SOC » 请教怎么把uboot中显示的logo保留到linux启动完成以后(可以付费) » 2021-01-01 23:26:07

andrewgu
回复: 12

请教一下怎么把uboot中显示的logo保留到linux启动完成以后
现在开机2~3秒显示一下logo,然后黑屏大概5秒左右知道我的程序开始显示内容。
我想让uboot中的logo一直显示下去,直到我的程序接管显示。请教大神如何处理,可以付费
我用的全志的lichee系统,不是主线。(A33)

#8 Re: 全志 SOC » 请教一下大神,我的X3,在linux里面看怎么只有37M内存? » 2020-06-12 13:13:17

问题已解决自己来结一下题。
A33 的 lichee linux 为DMA和ION预留了内存 。其中ION预留的比较多,内存大于512M时预留150M,否则预留96M。
具体代码请参考 linux-3.4/arch/arm/mach-sunxi/sun8i.c

static inline void sun8i_ion_reserve_override(void)
{
	const int mem512 =  512 * SZ_1M;
	ion_mem.size = CONFIG_ION_SUNXI_CARVEOUT_SIZE * SZ_1M;
	if(mem_size == mem512 || mem_size < mem512){
		ion_mem.size = CONFIG_ION_SUNXI_CARVEOUT_SIZE_512M * SZ_1M;
	}
}

因此我们可以修改这里的代码,或者修改配置文件(.config)

CONFIG_ION_SUNXI_CARVEOUT_SIZE=150
CONFIG_ION_SUNXI_CARVEOUT_SIZE_512M=96

改成

CONFIG_ION_SUNXI_CARVEOUT_SIZE=150
CONFIG_ION_SUNXI_CARVEOUT_SIZE_512M=32

#10 全志 SOC » 请教一下大神,我的X3,在linux里面看怎么只有37M内存? » 2020-06-03 00:05:00

andrewgu
回复: 5

请教一下大神,我的X3,在linux里面看怎么只有37M内存?
我知道tempfs用了18.4M,其他的去哪儿了呢?

QQ%E6%88%AA%E5%9B%BE20200603000200.png

#11 Re: 全志 SOC » V3S芯片 用DHCP去自动分配了IP,发现只要重启mac变了 IP也变了 » 2020-05-19 11:44:58

两个的建议:

1、把mac地址固定下来

ifconfig eth0 down
ifconfig eth0 hw ether 00:0C:18:EF:FF:ED
ifconfig eth0 up

2、也可以把ip地址固定下来

ifconfig eth0 192.168.1.155 netmask 255.255.255.0

#12 全志 SOC » A33大概什么价格 » 2020-05-19 11:11:15

andrewgu
回复: 0

有人说26元左右
但是我在1688上看到有17.5元
我也搞不清楚什么价格,请教大家!

_20200519110805.jpg

#13 Re: 全志 SOC » 分享H3核心板 底板 电源模块的工程文档 » 2020-05-17 09:50:06

yangshuwei 说:

已经求助晕哥了  我明天再排查排查
打算拆掉emmc  然后看看板子什么反应
能不能从tf卡启动。。。。

从tf卡启动,不需要拆emmc,系统会优先从tf卡启动

#15 Re: 全志 SOC » v3s现在有办法通过jlink单步裸奔么? » 2020-05-12 11:28:59

跑裸用在产品中,软件设计工作量太大,如果linux能够满足要求,还是用linux更好。对于学习,调试、测试等工作跑裸机还是很有用的。

#17 Re: 全志 SOC » v3s现在有办法通过jlink单步裸奔么? » 2020-05-11 15:50:50

其他CPU,如A33、H3等 新做的板子,是否也可以通过jtag调试才检测pcb是否有问题(串口能否有输出、DDR是否正常工作等)?

#18 全志 SOC » 请教全志A33的DDR原理图的问题 » 2020-05-11 10:46:37

andrewgu
回复: 2
我在看A33标案的原理图,其中DDR的数据线和CPU之间的连接方式我看不懂。
感觉顺序是乱的,而且两片DDR的连接方式还不同。请问这是为什么?

ddr.png

#19 Re: 全志 SOC » 请教全志的系统通过SD卡启动以后如何访问内置的EMMC » 2020-04-25 01:17:03

感谢提供思路。
基本找到原因了。
全志的sys_config.fex配置哪些使用了哪几个mmc控制器。
在sd开启动时,全志把mmc2(就是emmc连接的控制器)禁用了。
我暴力修改了drivers/mmc/host/sunxi-mci.c 使得所有的mmc控制器全部启用,就可以看到emmc了。
FluxBB bbcode aa

#20 全志 SOC » 请教全志的系统通过SD卡启动以后如何访问内置的EMMC » 2020-04-24 23:31:04

andrewgu
回复: 2

板子信息:CPU A33,内置emmc,外部可以插入SD卡。
系统信息: 全志的Lichee做的Linux系统。
当通过SD卡启以后,我想访问内部的emmc,但是在/dev看不到emmc。
请问有什么办法可以访问到内置的emmc。

#21 Re: 全志 SOC » Windows平台烧写f1c100s 荔枝派nano开发板步奏 » 2019-04-30 13:50:23

请教一下晕哥,我在v3s烧录完成之后,想让其重启启动怎么办?
我尝试了sunxi-fel exec 0xffff0000没有效果;(在uboot里面,我输入go 0xffff0000 可以重启)

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn