readme.txt 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. 说明: 本BSP可以如下演示
  2. 默认演示realtouch GUI效果,并提供了一个贪吃的demo用于演示
  3. 目前支持的功能有
  4. 1). LWIP(可以打开LWIP选项,不过尚存在bug,不建议使用)
  5. 2). 文件系统支持,支持ELM FatFS,UFFS,JFFS2
  6. 3). RTGUI支持
  7. 说明:需要使用github中的RTGUI源码
  8. github网页:https://github.com/RT-Thread/RTGUI
  9. 并修改当前目录下的SConstruct文件,共有两种方法。
  10. 方法1
  11. 向系统环境变量中加入RTT_RTGUI,其值为刚才github上下载的rtgui源码包的路径。
  12. 例如笔者的rtgui源码包解压至 F:\Project\git\rt-gui\下
  13. 则将此环境变量配置为 F:\Project\git\rt-gui\components\rtgui
  14. 方法2
  15. 不添加环境变量,打开SConstruct文件,
  16. ....
  17. 10 if os.getenv('RTT_RTGUI'):
  18. 11 RTT_RTGUI = os.getenv('RTT_RTGUI')
  19. 12 else:
  20. 13 # set the rtgui root directory by hand
  21. 14 # empty string means use the RTGUI in svn
  22. 15 # RTT_RTGUI = os.path.normpath(r'F:\Project\git\rt-gui\components\rtgui')
  23. 16 RTT_RTGUI =''
  24. ....
  25. 将15,16行修改为
  26. 14 # empty string means use the RTGUI in svn
  27. 15 RTT_RTGUI = os.path.normpath(r'F:\Project\git\rt-gui\components\rtgui')
  28. 16 # RTT_RTGUI =''
  29. 简单说明一下:
  30. 1)#号表示注释,类似于c语言中的//,
  31. 2)其中15行的路径为你的RTGUI路径源码,注意不是压缩包路径,而是压缩包路径下的 components\rtgui目录的绝对路径。
  32. 1 编译:
  33. 1.1 使用Visual Studio(2005以上版本)
  34. 在命令行中执行 scons --target=vs -s 可以生成vs2005的工程,名为project.vsproj
  35. 编译后运行
  36. 1.2 使用scons编译,在当前目录中打开cmd,输入
  37. scons -j4
  38. 编译完成后会在当前目录下生成 rtthrad-win32.exe,双击即可运行。
  39. 2. 测试文件系统
  40. 运行:
  41. 编译后运行,会弹出CMD命令行窗口,可以看到控制台的输出信息,如下所示
  42. \ | /
  43. - RT - Thread Operating System
  44. / | \ 1.1.0 build Oct 21 2012
  45. 2006 - 2012 Copyright by rt-thread team
  46. init jffs2 lock mutex okay
  47. hello, world
  48. finsh>>fatfs initialzation failed!
  49. uffs initialzation failed!
  50. jffs2 initialzation failed!
  51. thread 29e4 exit
  52. hello, world
  53. hello, world
  54. hello, world
  55. hello, world
  56. hello, world
  57. hello, world
  58. hello, world
  59. hello, world
  60. hello, world
  61. thread 2898 exit
  62. 注意上面的信息显示,fatfs/uffs/jffs2均挂载失败,这是因为我们还没有为sd.bin创建fat分区,并且sd上也没有目录用于挂载jffs2和uffs。
  63. 并且此时当前bsp目录下,新增了三个文件用于模拟sd卡,nand flash与nor flash,它们是
  64. sd.bin--模拟SD卡,挂载fat,大小为16M
  65. nand.bin-模拟nand flash,挂载uffs,参数page=2048+64bytes,block=64pages,16M
  66. nor.bin--模拟nor flash,挂载jffs2,型号为sst25vf,2M
  67. 按下回车,出现finsh,然后输入如下命令格式化sd.bin
  68. finsh>>mkfs("elm", "sd0")
  69. 0, 0x00000000
  70. finsh>>
  71. 关闭程序重新运行,此时可以看到fatfs挂载成功,不过jffs2和uffs依然失败,如下所示。
  72. \ | /
  73. - RT - Thread Operating System
  74. / | \ 1.1.0 build Oct 21 2012
  75. 2006 - 2012 Copyright by rt-thread team
  76. init jffs2 lock mutex okay
  77. hello, world
  78. finsh>>fatfs initialized!
  79. uffs initialzation failed!
  80. jffs2 initialzation failed!
  81. 这是因为sd上还没有目录来用于挂载jffs2和uffs,在finsh中输入如下命令在sd上创建nand与nor文件夹,分别用于挂载uffs与jffs2文件系统。
  82. finsh>>mkdir("/nand")
  83. 0, 0x00000000
  84. finsh>>mkdir("/nor")
  85. 0, 0x00000000
  86. finsh>>
  87. 然后再次关闭程序后重新运行,此时可以看到jffs2与uffs挂载成功。
  88. 最终输出如下所示:
  89. \ | /
  90. - RT - Thread Operating System
  91. / | \ 1.1.0 build Oct 21 2012
  92. 2006 - 2012 Copyright by rt-thread team
  93. init jffs2 lock mutex okay
  94. hello, world
  95. finsh>>fatfs initialized!
  96. os : system memory alloc 320 bytes
  97. flsh: ECC size 24
  98. flsh: UFFS consume spare data size 34
  99. os : system memory alloc 83520 bytes
  100. os : system memory alloc 52400 bytes
  101. os : system memory alloc 2048 bytes
  102. tree: DIR 0, FILE 0, DATA 0
  103. uffs initialized!
  104. jffs2 initialized!
  105. thread 2fb4 exit
  106. hello, world
  107. hello, world
  108. hello, world
  109. hello, world
  110. hello, world
  111. hello, world
  112. hello, world
  113. hello, world
  114. hello, world
  115. thread 312c exit
  116. Ok,到现在,一个完整的文件系统测试环境就搭建完毕了,enjoy~~
  117. 3 测试RTGUI
  118. 启动后就会看到GUI窗口,分辨率800×480串口,并出现图形界面。
  119. 此时在finsh中输入 snake_main,即可运行贪吃蛇程序。