source.ant 发表于 2018-8-29 09:25:05

开源全志H3 四核A7裸奔工程代码

机顶盒芯片H3 四核A7.想想如果裸奔是什么样的速度。最近把该芯片的uboot代码扣出来,在IAR上裸奔起来了,一个1.2GHz的单片机。
硬件:
   使用的是nano-pi的核心小板子。引出的IO口很多,关键的关键是JTAG的四个IO口PA0-3是引出来的.还有那些orangpi应该也是可以的。
软件:
JTAG口是引出的,但是该口默认上电端口功能是禁止的。所以我们需要修改uboot中的SPL|部分,初始化芯片和SDRAM后,配置PA0-3为JTAG功能,然就while(1)等待仿真器去连接调试了。
开发环境:
我所知道的在windows平台下就DS-5和IAR支持cortex-A系列的内核芯片。DS-5用的比较少。IAR这个很多人都熟悉。使用相对简单,还支持多核的MSP、ASP模式。于是就选IAR了
仿真器:
我试过JLINK和CMSIS-DAP这两个。jlink下载快,但是不支持多核调试。CMSIS-dap在IAR下是可以支持多核调试的。但是我还没弄成功。CMSIS-DAP可以自己弄,一块STM32的开发板就有行。参考代码https://github.com/RadioOperator/STM32F103C8T6_CMSIS-DAP_SWO。


我的代码放到码云上:https://gitee.com/source_ant/allwinner-H3-iar-project。欢迎大家下载体验。img文件修改的uboot,主要作用为使能H3芯片的JTAG口,初始化SDRAM。镜像文件写入TF卡,插入目标板。上电自动加载运行。然后可向普通单片机一样下载调试。目前存在很多问题,个人精力有限,有兴趣的一起完善。

Excellence 发表于 2018-8-29 10:02:55

板子淘宝有吗?

nanfang2000 发表于 2018-8-29 10:17:48

感谢楼主,我也喜欢裸奔。就是4核怎么利用起来,可以跑4个不同的main()吗?

TIANYJ 发表于 2018-8-29 10:19:11

这个得要顶。。。

pazulin 发表于 2018-8-29 10:21:57

注定玩玩而已,没有什么实用意义

dr2001 发表于 2018-8-29 10:22:34

nanfang2000 发表于 2018-8-29 10:17
感谢楼主,我也喜欢裸奔。就是4核怎么利用起来,可以跑4个不同的main()吗? ...

可以跑四个完全无关的程序。

具体怎么启动要有芯片手册关于内部BootLoader的描述。

source.ant 发表于 2018-8-29 10:25:42

Excellence 发表于 2018-8-29 10:02
板子淘宝有吗?

有的 叫nanoPi neo core。我就不贴连接了。不然就是广告了

source.ant 发表于 2018-8-29 10:28:31

pazulin 发表于 2018-8-29 10:21
注定玩玩而已,没有什么实用意义

TI的A8芯片AM335xx 1G主频还有拿来裸奔的。是产品,不是开发板。商业机密不方便说太多。

honami520 发表于 2018-8-29 10:32:50

这样做产品的,也是打算一个技术吃十年的。应该都是比较老的工程师了,不会Linux,所以用大毅力来裸奔。
可惜市场、时代终会抛弃他们。
就像汤姆克鲁斯的电影《最后的武士》里面一样,可敬,但是还是被无情淘汰

source.ant 发表于 2018-8-29 10:40:40

honami520 发表于 2018-8-29 10:32
这样做产品的,也是打算一个技术吃十年的。应该都是比较老的工程师了,不会Linux,所以用大毅力来裸奔。
可 ...

错了。不要说的这么绝对。大量的实时计算,速度要求很高。中断都不能太多,尽量用DMA,如果LINUX系统,系统就占用很多的CPU资,实时性就不行了。用很低的成本,实现DSP的计算性能。

applededipan 发表于 2018-8-29 11:39:13

source.ant 发表于 2018-8-29 10:40
错了。不要说的这么绝对。大量的实时计算,速度要求很高。中断都不能太多,尽量用DMA,如果LINUX系统,系 ...

赞同!!!!!!!!!

硬邦邦 发表于 2018-8-29 11:44:02

有便宜开发板吗?

source.ant 发表于 2018-8-29 11:45:24

硬邦邦 发表于 2018-8-29 11:44
有便宜开发板吗?

淘宝一堆,orangpi、nanopi等等。

hyz_avr 发表于 2018-8-29 11:59:17

搭车问一下,这么多pi,有没有能跑安卓,带lvds输出的,价格100左右,或100 以内的.

dr2001 发表于 2018-8-29 12:35:38

source.ant 发表于 2018-8-29 10:40
错了。不要说的这么绝对。大量的实时计算,速度要求很高。中断都不能太多,尽量用DMA,如果LINUX系统,系 ...

纯裸奔对于CortexA系列的多核处理器而言略过时或者说没有特别的必要。

多核平台可以考虑两条路:
1 需要响应多个中断的情况:实时部分直接HotPlug拆核去跑独立的裸代码;速度要求不高的部分Linux解决,特别是复杂文件系统。自己写代码,Kernel的RemoteProc,OpenAMP等等解决方案可供参考。拆出去的核直接裸奔或者跑RTOS都行。
2 只需要响应一个中断:直接用轮询,通过配置内核和Affinity让独立的核既不响应中断也不进内核态,就是纯用户态轮询。既方便又好用。

nanfang2000 发表于 2018-8-29 12:46:19

如果要求100ms内就能启动或者需要任务实时性,这样的用户场景,肯定得裸奔或者RTOS。嵌入式用上Linux一般是为了用它的网络和USB,除开这些应用,用Linux其实成本要高很多,光Linux驱动的编写就得找专门的工程师

日日♂夜夜 发表于 2018-9-4 13:22:09

dr2001 发表于 2018-8-29 12:35
纯裸奔对于CortexA系列的多核处理器而言略过时或者说没有特别的必要。

多核平台可以考虑两条路:


大佬 这些相关的解决方案哪里有介绍的

yzhu 发表于 2018-9-5 19:33:30

dr2001 发表于 2018-8-29 12:35
纯裸奔对于CortexA系列的多核处理器而言略过时或者说没有特别的必要。

多核平台可以考虑两条路:


同问:这些相关的解决方案哪里有介绍的?

love_zjb 发表于 2018-9-5 19:52:32

这都能裸奔,666

huangqi412 发表于 2018-9-5 20:05:27

流水灯走起

polarbear 发表于 2018-9-6 08:51:32

STM32 跑linux
四核 A7 裸奔

牛。 牛。 牛。

linux-0405209 发表于 2018-9-6 09:53:08

手头有块 NanoPi M1不知是否可以~~~

ttyyuuio 发表于 2018-9-6 19:08:43

这个探索精神可以,感觉太材小用了{:titter:}

Achin 发表于 2018-9-6 19:56:32

国内的芯片,最大的问题就是相关资源开放得比fsl(nxp)、ti这样的大厂少太多

advarx21ic 发表于 2018-9-6 20:45:58

source.ant 发表于 2018-8-29 10:28
TI的A8芯片AM335xx 1G主频还有拿来裸奔的。是产品,不是开发板。商业机密不方便说太多。 ...

我们也是裸奔的

Gohome_soon 发表于 2018-9-6 21:46:42

楼主,正好有个nanopi-air H3的试试看行不行

FireBrain 发表于 2018-10-6 16:03:59

很想知道把所有外设都关了,功耗是多少

hexenzhou 发表于 2018-10-6 16:37:59

本帖最后由 hexenzhou 于 2018-10-6 16:42 编辑

我们是多核A9,第一个核跑Linux,其他核裸奔,兼顾Linux开发的便捷性和裸奔的实时性,多核间的通讯用中断相互触发实现,这类片子裸奔还是很有必要的。粗略看了一下代码,楼主好像没有开MMU?没开MMU裸奔速度会很慢的。

我是一个大白菜 发表于 2018-10-6 18:24:10

多核怎么做到一个跑linux一个裸机的呢?可以提示一下吗?

source.ant 发表于 2018-10-6 20:41:02

hexenzhou 发表于 2018-10-6 16:37
我们是多核A9,第一个核跑Linux,其他核裸奔,兼顾Linux开发的便捷性和裸奔的实时性,多核间的通讯用中断相 ...

mmu开了的。效率提升不大。AM335X的mmu和cache开启后运行速度快10倍。H3开启后速度只提升1倍。

hexenzhou 发表于 2018-10-6 20:47:11

我是一个大白菜 发表于 2018-10-6 18:24
多核怎么做到一个跑linux一个裸机的呢?可以提示一下吗?

请搜索ZYNQ的AMP模式,官方有详细的文档。

fengyunyu 发表于 2018-10-6 22:34:31

大牛很多!

zzjjhh250 发表于 2018-10-6 22:40:36

source.ant 发表于 2018-8-29 10:40
错了。不要说的这么绝对。大量的实时计算,速度要求很高。中断都不能太多,尽量用DMA,如果LINUX系统,系 ...

要是拿1G 跑 DSP 是不是很爽,不懂。
我们一般就用DSP 跑算法,控制在30us以内

我是一个大白菜 发表于 2018-10-6 23:28:29

hexenzhou 发表于 2018-10-6 20:47
请搜索ZYNQ的AMP模式,官方有详细的文档。

谢谢指导,我先了解一下

what007 发表于 2018-10-7 10:35:07

感谢分享!

txl216 发表于 2018-10-7 15:10:29

学习一下,牛!

科技猎人 发表于 2019-1-24 17:59:50

SylixOS实时操作系统 去年就支持nanopai-neo了,各种网络文件系统USB协议都支持。有现成的bsp直接变上层应用就行了,实时性和Vx一个级别,动车卫星导弹上车床都有使用。简单讲比裸奔或小的rtos功能全面比Linux实时可靠。

FireBrain 发表于 2019-1-24 18:08:56

不知道能不能写程序使功耗降下来

nanfang2000 发表于 2019-1-27 19:32:43

科技猎人 发表于 2019-1-24 17:59
SylixOS实时操作系统 去年就支持nanopai-neo了,各种网络文件系统USB协议都支持。有现成的bsp直接变上层应 ...

新手如何入门?感觉你们网站资料不多。另外授权怎么搞?

RAMILE 发表于 2019-1-27 20:00:21

SylixOS入门感和Linux差不多,像busybox

lizuqing 发表于 2019-2-1 15:58:35

还有这用法,学习了。

imliyucai 发表于 2019-2-13 10:25:04

把 Linux 看成是别人写好的程序库,就不会纠结什么裸奔还是上系统了。
用 Linux 需要你对 Linux 熟悉,裸奔需要你对 CPU 熟悉。就看你熟悉什么了。

4317mjh 发表于 2019-3-11 01:11:30

imliyucai 发表于 2019-2-13 10:25
把 Linux 看成是别人写好的程序库,就不会纠结什么裸奔还是上系统了。
用 Linux 需要你对 Linux 熟悉,裸 ...

一言惊醒梦中人

蛋定 发表于 2019-3-11 03:39:14

一言惊醒梦中人+1

windrarara 发表于 2019-3-16 22:11:28

实时要求高的用dsp啊,soc不跑linux太可惜了

source.ant 发表于 2019-3-17 10:16:11

windrarara 发表于 2019-3-16 22:11
实时要求高的用dsp啊,soc不跑linux太可惜了

dsp价格有便宜的吗?

linhuaou 发表于 2019-8-3 17:46:20

楼主牛,学习了
页: [1]
查看完整版本: 开源全志H3 四核A7裸奔工程代码