最专业的FPGA ZYNQ论坛--黑金动力社区

 找回密码
 注册
查看: 9621|回复: 24

RT-Thread for Nios II on 黑金

[复制链接]
aozima 发表于 2011-2-17 01:29:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 aozima 于 2011-5-11 14:37 编辑

相关资源更新到首贴:



移植介绍(wiki)
http://www.rt-thread.org/dokuwiki/doku.php?id=nios_ii




nios移植手记
nios移植手记.pdf (227.47 KB, 下载次数: 2056)
 楼主| aozima 发表于 2011-2-17 02:04:19 | 显示全部楼层

  1. \ | /
  2. - RT -     Thread Operating System
  3. / | \ 0.4.0 build Feb 17 2011
  4. 2006 - 2009 Copyright by rt-thread team
  5. led1 on,count : 0
  6. led2 on,count : 0
  7. led1 off
  8. led1 on,count : 1
  9. led2 off
  10. led1 off
  11. led1 on,count : 2
  12. led2 on,count : 1
  13. led1 off
复制代码
实际文件名为 rtt_nios_demo.7z 希望设置支持 7z gz rar等格式,然后大小再大点.
为了压到100K以下,试了半天,
RAR压成RAR格式,最小可以到80K,但不支持RAR格式
使用ZIP格式最好压缩只能到99.3K,支持,但有点悬,
使用好压,压缩成ZIP最小也有102K,
最后压成7z格式,这个针对文本有优化, 只有61K.
rtt_nios_demo.7z.zip (60.51 KB, 下载次数: 921)
avic 发表于 2011-2-18 09:31:45 | 显示全部楼层
好贴,支持,希望楼主可以多写些相关的博文或教程,跟大家一起分享一下。如果得到大家的认可,我们将会把您的博文加入到我们的教程中跟大家一起分享。
 楼主| aozima 发表于 2011-2-20 03:47:10 | 显示全部楼层
本帖最后由 aozima 于 2011-2-20 04:00 编辑

改进了下移植,现在可以跑得比较久了,然后也可以烧入FLASH冷启动了.原来不能启动的原因是TICK的TIMER初始化没有打开中断.
附件扩展名依然为 .7z
rt_thread_for_heijin.7z.zip (52.19 KB, 下载次数: 835)
Dable_cn 发表于 2011-2-21 13:42:02 | 显示全部楼层
好东西,支持,下来借鉴一下!
avic 发表于 2011-2-21 18:04:42 | 显示全部楼层
改进了下移植,现在可以跑得比较久了,然后也可以烧入FLASH冷启动了.原来不能启动的原因是TICK的TIMER初始化没 ...
aozima 发表于 2011-2-20 03:47



    大家对你的文章笔记很期待啊,如果写的多,我们可以独立出来作为单独的教程给大家。
 楼主| aozima 发表于 2011-2-22 00:05:13 | 显示全部楼层
最近被altera的软件玩了, 因这只是一个基本移植,只是跑起来,其它组件和功能都没有做测试.
想加入finsh但不支持添加自定义section,于是升级成9.1
结果发现9.1只认.s的汇编文件,而GCC一般是.S
9.0也是.S

虽然可以改成.s
但这样会造成更多麻烦,夜里再下载10.0明天测试

详见: http://oshcn.com/viewthread.php?tid=4948
 楼主| aozima 发表于 2011-3-4 21:56:06 | 显示全部楼层
好久没搞了,今天终于抽空弄了下:

移植介绍: http://www.rt-thread.org/dokuwiki/doku.php?id=nios_ii

基本内核篇:
因不能上传大于100K的附件,因此请移步到这里下载附件:
http://www.rt-thread.org/phpbbforum/viewtopic.php?f=4&t=940&p=4721#p4721
 楼主| aozima 发表于 2011-3-4 22:46:51 | 显示全部楼层
 楼主| aozima 发表于 2011-3-5 03:36:10 | 显示全部楼层
移植手册出PDF了,欢迎去下载.
avic 发表于 2011-3-5 23:48:07 | 显示全部楼层
好贴!
 楼主| aozima 发表于 2011-5-5 16:01:34 | 显示全部楼层
今天测试了一下LWIP.因基本系统已移植好.因此要使用RT-thread+LWIP只要改下EN28J60的驱动即可.

Ping测试.有点慢,有空慢慢查.
ping.jpg

finsh,上面UDPserver线程在5000端口收到了信息并打印了出来.
finsh_udp.jpg

UDP ECHO
UDP_ECHO.jpg

EN28J60驱动(for黑金板)

en28j60_driver.zip

8.64 KB, 下载次数: 683

 楼主| aozima 发表于 2011-5-5 16:05:52 | 显示全部楼层
经测试还有些问题.有条件的可以帮测试一下.

  1. thread:erx stack overflow
  2. thread  pri  status      sp     stack size max used   left tick  error
  3. -------- ---- ------- ---------- ---------- ---------- ---------- ---
  4. userver  0x0a suspend 0x00000178 0x00000800 0x00000198 0x0000000e 000
  5. uecho    0x0c suspend 0x000000fc 0x00000800 0x00000144 0x00000013 000
  6. tcpip    0x0c suspend 0x000000e8 0x00000400 0x000001ec 0x00000012 000
  7. etx      0x0f suspend 0x000000a4 0x00000400 0x00000110 0x00000009 000
  8. erx      0x0f ready   0xfffff734 0x00000400 0x00000130 0x00000007 000
  9. tidle    0x1f ready   0x00000054 0x00000400 0x00000118 0x0000001a 000
  10. tshell   0x14 ready   0x00000098 0x00000800 0x00000114 0x00000009 000
  11. led2     0x0c suspend 0x00000098 0x00000400 0x0000014c 0x00000004 000
  12. led1     0x0b suspend 0x000000a8 0x00000400 0x00000180 0x00000004 000
复制代码
 楼主| aozima 发表于 2011-5-6 23:59:24 | 显示全部楼层
终于查到了,原来是移植代码有问题.
修改见: http://code.google.com/p/rt-thread/source/detail?r=1396

现在同时开3个ping,都是1033字节的包.
再同时UDP测试也没有问题了.
 楼主| aozima 发表于 2011-5-7 00:03:50 | 显示全部楼层
以下是 kernel+finsh+lwip的完整工程包(建议使用10.0版本的软件,其它版本需要自己小改)
kernel_finsh_lwip.zip (1006.17 KB, 下载次数: 926)
avic 发表于 2011-5-7 01:12:25 | 显示全部楼层
已经此贴置顶,让更多的人学习和分享
 楼主| aozima 发表于 2011-5-7 08:45:34 | 显示全部楼层
本帖最后由 aozima 于 2011-5-7 09:10 编辑

睡的时候让我的LINUX盒子同时开两个ping在后台运行.早上起来看结果.

先list_timer一下, "current tick:0x01ffff37" tick是默认的1000,算起来跑了9个多小时了.

ping1
  1. 1041 bytes from 192.168.1.30: icmp_seq=31861 ttl=255 time=247.2 ms
  2. 1041 bytes from 192.168.1.30: icmp_seq=31862 ttl=255 time=247.1 ms

  3. --- 192.168.1.30 ping statistics ---
  4. 31864 packets transmitted, 31863 packets received, 0% packet loss
  5. round-trip min/avg/max = 147.7/175.5/262.2 ms
复制代码
ping2
  1. 1041 bytes from 192.168.1.30: icmp_seq=31830 ttl=255 time=167.5 ms
  2. 1041 bytes from 192.168.1.30: icmp_seq=31831 ttl=255 time=167.6 ms

  3. --- 192.168.1.30 ping statistics ---
  4. 31832 packets transmitted, 31832 packets received, 0% packet loss
  5. round-trip min/avg/max = 137.6/181.9/339.7 ms
复制代码
看来还不错,剩下来查下速度,现在直接用的默认,没有修改SPI速度,不知道EN28J60的SPI默认SPI速度是多少?
XiaomaGee 发表于 2011-5-7 12:08:15 | 显示全部楼层
非常棒,支持下!!
鑫海宝贝 发表于 2011-5-9 16:19:48 | 显示全部楼层
精华之作,顶顶
ou513 发表于 2012-1-8 20:34:40 | 显示全部楼层
太强了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|@2009-2016 芯驿电子科技(上海)有限公司|小黑屋|手机版|Archiver|黑金动力社区 ( 沪ICP备11013590沪公网安备 31011702000003号

GMT+8, 2017-7-20 20:29 , Processed in 0.119318 second(s), 23 queries , Gzip On.

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表