您尚未登录。

楼主 #1 2020-07-13 18:31:24

flex-A
会员
注册时间: 2019-08-27
已发帖子: 38
积分: 53.5

[V3S]发一份V3S的裸机程序

*从xboot抠的启动文件和编译选项,感谢XBOOT大佬贡献的代码
*裸机启动,包括串口0初始化、时钟初始化、内部DRAM初始化并启动到main().
*工程包含了v3s版的sunxi-fel工具
*由于我对ld脚本并不是很熟悉,在这上面花了不少时间找问题:)
*工程源码:(.zip上传失败,放网盘链接)链接: https://pan.baidu.com/s/18E3WTeRR0BuBnaxPEEp1EA   提取码: f3dm

======================================
#编译步骤-在linux平台完成
1、解压源码,修改Makefile中的编译器
01.png

2、进入tools/mksunxi目录执行make命令
3、在工程目录执行make编译
4、make write下载,复位运行应该能看到串口输出的信息
02.png

======================================
另外还想请教各位大佬一个问题:在sys-dram.c中声明了一个结构体变量,在声明的同时赋值,但是这样cpu就不知道跑哪去了,改成下面这样就好了
03.png
但page_size放外面赋值总觉得有点刺挠:),想问问各位大佬有啥解决办法吗。

离线

#2 2020-07-14 09:07:04

执念执战
会员
注册时间: 2018-11-27
已发帖子: 17
积分: 12

Re: [V3S]发一份V3S的裸机程序

lol lol lol lol 厉害!赞一个!!!

离线

#3 2020-07-14 10:57:07

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 490
积分: 490

Re: [V3S]发一份V3S的裸机程序

谢谢分享。

离线

#4 2020-07-14 11:39:44

MyWaKeng
会员
注册时间: 2020-07-14
已发帖子: 22
积分: 1.5

Re: [V3S]发一份V3S的裸机程序

作为刚注册的小白,好羡慕楼主,折腾的成果。严重支持下。

离线

#5 2020-07-14 15:33:20

哇酷小二
本站客服
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,021
积分: 1897
个人网站

Re: [V3S]发一份V3S的裸机程序

*工程源码:(.zip上传失败,放网盘链接)链接: https://pan.baidu.com/s/18E3WTeRR0BuBnaxPEEp1EA   提取码: f3dm

感谢楼主分享,为了方便各位网友,防止百度盘失效,可以本站下载: v3s_none0.zip






淘宝: whycan.taobao.com 可提供技术支持 V3sR11 / F1C200s / D1 / D1s / XR32 / XR829 / XR806

在线

#6 2020-07-14 15:53:00

staunchheart
会员
注册时间: 2019-12-17
已发帖子: 212
积分: 193

Re: [V3S]发一份V3S的裸机程序

晕哥掏了血本呀,这个182M,流量费不小哦。
去掉里面的GCC,加个链接好些。

最近编辑记录 staunchheart (2020-07-14 15:53:59)

离线

#7 2020-07-14 15:58:25

Quotation
会员
注册时间: 2018-10-04
已发帖子: 278
积分: 260.5

Re: [V3S]发一份V3S的裸机程序

flex-A 说:

另外还想请教各位大佬一个问题:在sys-dram.c中声明了一个结构体变量,在声明的同时赋值,但是这样cpu就不知道跑哪去了,改成下面这样就好了
https://whycan.cn/files/members/1924/03.png
但page_size放外面赋值总觉得有点刺挠:),想问问各位大佬有啥解决办法吗。

把几个变量赋值顺序调成和结构体声明里的一样试试?

离线

#8 2020-07-14 16:03:53

哇酷小二
本站客服
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,021
积分: 1897
个人网站

Re: [V3S]发一份V3S的裸机程序

staunchheart 说:

晕哥掏了血本呀,这个182M,流量费不小哦。
去掉里面的GCC,加个链接好些。

没事,钱没了可以再赚,关键是大家要玩得开心。






淘宝: whycan.taobao.com 可提供技术支持 V3sR11 / F1C200s / D1 / D1s / XR32 / XR829 / XR806

在线

#9 2020-07-14 16:45:39

txl
会员
注册时间: 2018-12-08
已发帖子: 10
积分: 9

Re: [V3S]发一份V3S的裸机程序

这个厉害,非常佩服楼主,给力!

最近编辑记录 txl (2020-07-14 16:46:23)

离线

楼主 #10 2020-07-14 17:03:48

flex-A
会员
注册时间: 2019-08-27
已发帖子: 38
积分: 53.5

Re: [V3S]发一份V3S的裸机程序

staunchheart 说:

晕哥掏了血本呀,这个182M,流量费不小哦。
去掉里面的GCC,加个链接好些。

你这么一说我才发现里面还藏了个GCC,去掉GCC压缩只有1.6M,是我疏忽了。下次上传前再仔细检查检查。

最近编辑记录 flex-A (2020-07-14 17:25:32)

离线

#11 2020-07-15 00:28:56

kesion
会员
注册时间: 2020-07-03
已发帖子: 42
积分: 34

Re: [V3S]发一份V3S的裸机程序

期待楼主发多几份这些裸机程序,太给力,和STM32的差别大吗?

离线

楼主 #12 2020-07-15 15:47:22

flex-A
会员
注册时间: 2019-08-27
已发帖子: 38
积分: 53.5

Re: [V3S]发一份V3S的裸机程序

kesion 说:

期待楼主发多几份这些裸机程序,太给力,和STM32的差别大吗?

裸机的话没有stm32那样详尽的库,基本只有一份数据手册和xboot这样的参考。算是一步一个坑。

离线

#13 2020-07-15 16:52:30

lxl_wc_regi
会员
注册时间: 2020-07-14
已发帖子: 2
积分: 2

Re: [V3S]发一份V3S的裸机程序

楼主, 执行这个 make write 命令就下载进去了吗?需要用串口线跟开发板相接吧

离线

楼主 #14 2020-07-15 17:36:38

flex-A
会员
注册时间: 2019-08-27
已发帖子: 38
积分: 53.5

Re: [V3S]发一份V3S的裸机程序

lxl_wc_regi 说:

楼主, 执行这个 make write 命令就下载进去了吗?需要用串口线跟开发板相接吧

连接荔枝派zero到电脑,荔枝派进到FEL模式,然后make write

离线

#15 2020-07-28 17:02:00

家猫戏很足
会员
注册时间: 2018-09-16
已发帖子: 6
积分: 6

Re: [V3S]发一份V3S的裸机程序

这个编译需要使用什么环境呢

离线

#16 2020-07-28 21:20:22

Mrtutu
会员
注册时间: 2020-07-28
已发帖子: 2
积分: 2

Re: [V3S]发一份V3S的裸机程序

厉害,帮顶

离线

#17 2020-07-28 21:23:54

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 566
积分: 505
个人网站

Re: [V3S]发一份V3S的裸机程序

感谢分享,顶起

离线

楼主 #18 2020-07-29 20:43:38

flex-A
会员
注册时间: 2019-08-27
已发帖子: 38
积分: 53.5

Re: [V3S]发一份V3S的裸机程序

家猫戏很足 说:

这个编译需要使用什么环境呢

系统:ubuntu,编译:arm-linux-guneabihf-或arm-none-eabi,下载:sunxi-fel
工程里自带v3s版的sunxi-fel工具。有一个arm-gcc,这个属失误,可以把arm-gcc删了,减小体积。

最近编辑记录 flex-A (2020-07-29 20:45:51)

离线

#19 2021-06-25 09:24:11

liao0418
会员
注册时间: 2021-06-25
已发帖子: 0
积分: 0

Re: [V3S]发一份V3S的裸机程序

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:与技术无关

#20 2021-06-25 10:57:51

lingyunyicun
会员
注册时间: 2021-02-02
已发帖子: 10
积分: 9.5

Re: [V3S]发一份V3S的裸机程序

个人觉得程序跑飞 应该是字节对齐问题 你看下你结构体设置没

离线

#21 2021-06-30 09:12:31

liao0418
会员
注册时间: 2021-06-25
已发帖子: 0
积分: 0

Re: [V3S]发一份V3S的裸机程序

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:与技术无关

#22 2021-06-30 10:03:17

xboot
会员
注册时间: 2019-10-15
已发帖子: 570
积分: 355

Re: [V3S]发一份V3S的裸机程序

lingyunyicun 说:

个人觉得程序跑飞 应该是字节对齐问题 你看下你结构体设置没

不是对齐问题,这种sys-开头的文件,是需要用特别的编程手段的,因为这些程序的链接地址都是在DDR中,而实际运行地址是在SRAM中,需要实现成地址无关的程序,而系统刚启动,什么环境都不具备,C执行环境,更是不完整的,所以只能用特别编程手段。

一般有一下注意点:
1,不要使用已初始化数据段
2,不要使用未初始化数据段
3,不要使用switch case语句,可以用if elseif 代替
4,不要使用全局变量,仅使用局部变量
5,局部变量的初始化,用代码实现,会编译成立即数赋值
6,只能使用栈空间,其他什么都不可以使用
7,不要调用任何外部库,比如工具链里的C库等。

只要按这种要求,编程,编译出来的代码,都是地址无关的,SPL代码是很特殊的,谨记运行地址不是链接地址,就明白为何需要这样处理了。
当然,这种限制,也导致编程要求较高,如果不想挑战自己,就链接两次,做两个程序吧,BL1->BL2,这种,你看某些芯片的引导链,那么长,就是因为这种原因。

独立的一个程序,支持引导,自举,换到DDR空间,要求是很高的。这种编程技巧,算挑战性编程。

最近编辑记录 xboot (2021-06-30 10:04:27)

离线

#23 2021-07-01 16:07:35

sunxiang
会员
注册时间: 2021-05-05
已发帖子: 199
积分: 103

Re: [V3S]发一份V3S的裸机程序

v3s的裸机是不是只能在DDR里面跑呀,应该不能在SPI_FLASH中跑吧,毕竟解析速度不够?

离线

楼主 #24 2021-07-03 00:28:21

flex-A
会员
注册时间: 2019-08-27
已发帖子: 38
积分: 53.5

Re: [V3S]发一份V3S的裸机程序

sunxiang 说:

v3s的裸机是不是只能在DDR里面跑呀,应该不能在SPI_FLASH中跑吧,毕竟解析速度不够?

程序是被搬到DDR里再运行的,V3S没法像STM32那样直接在FLASH里运行

离线

#25 2021-07-03 01:21:12

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 490
积分: 490

Re: [V3S]发一份V3S的裸机程序

@xboot
谢谢大佬。

离线

#26 2022-01-19 16:28:49

zurphy
会员
注册时间: 2022-01-19
已发帖子: 5
积分: 5

Re: [V3S]发一份V3S的裸机程序

这个是flash的问题啊,NOR flash还是可以执行程序的

离线

页脚

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

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