申请的的开发套件到目前还没到手,看到网友们都开始动手干了,我也是按捺不住了,所以就先在悠龙公司的主页下载了uTenux_V1.5.00r160.zip,打算看看,先了解一下。
下面是文件目录表:
└─uTenux_OpenSource_Edition
├─image
│ ├─atmel
│ │ ├─at91sam3s4c
│ │ └─at91sam4s16c
│ ├─freescale
│ │ └─mk60dn512xxx10
│ ├─fujitsu
│ │ └─mb9bf506r
│ ├─infineon
│ │ └─xmc4500x144x1024
│ ├─nxp
│ │ ├─lpc1766
│ │ ├─lpc1788
│ │ └─lpc4088
│ ├─st
│ │ ├─stm32f103ze
│ │ ├─stm32f107vc
│ │ ├─stm32f207zg
│ │ ├─stm32f303vc
│ │ ├─stm32f407ig
│ │ ├─stm32f407vg
│ │ └─stm32f407zg
│ └─ti
│ ├─lm3s9b96
│ └─lm4f232h5qd
├─manual
│ └─uTenux_Kernel_BasisLecture
├─sample
│ ├─common
│ │ ├─01.task
│ │ ├─02.semaphore
│ │ ├─03.eventflag
│ │ ├─04.mailbox
│ │ ├─05.mutex
│ │ ├─06.messbuf
│ │ ├─07.rendport
│ │ ├─08.mempoolf
│ │ ├─09.mempoolv
│ │ ├─10.time
│ │ ├─11.cycle
│ │ ├─12.alarm
│ │ └─14.sysinfo
│ └─sysdepend
│ └─armv7_m
│ └─13.int
├─source
│ └─uTenux
│ ├─.externalToolBuilders
│ ├─.settings
│ ├─app
│ │ ├─build
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ └─usermain
│ │ ├─build
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ └─src
│ ├─bin
│ │ ├─app_at91sam3
│ │ │ └─chip_at91sam3s4c
│ │ ├─app_at91sam4
│ │ │ └─chip_at91sam4s16c
│ │ ├─app_lm3s
│ │ │ └─chip_lm3s9b96
│ │ ├─app_lm4f
│ │ │ └─chip_lm4f232h5qd
│ │ ├─app_lpc17
│ │ │ └─chip_lpc1766
│ │ ├─app_lpc178
│ │ │ └─chip_lpc1788
│ │ ├─app_lpc40
│ │ │ └─chip_lpc4088
│ │ ├─app_mb9bf5
│ │ │ └─chip_mb9bf506r
│ │ ├─app_mk60d
│ │ │ └─chip_mk60dn512xxx10
│ │ ├─app_stm32f1
│ │ │ ├─chip_stm32f103ze
│ │ │ └─chip_stm32f107vc
│ │ ├─app_stm32f2
│ │ │ └─chip_stm32f207zg
│ │ ├─app_stm32f3
│ │ │ └─chip_stm32f303vc
│ │ ├─app_stm32f4
│ │ │ ├─chip_stm32f407ig
│ │ │ ├─chip_stm32f407vg
│ │ │ └─chip_stm32f407zg
│ │ └─app_xmc4000
│ │ └─chip_xmc4500x144x1024
│ ├─config
│ │ └─sysdepend
│ │ ├─app_at91sam3
│ │ │ └─chip_at91sam3s4c
│ │ ├─app_at91sam4
│ │ │ └─chip_at91sam4s16c
│ │ ├─app_lm3s
│ │ │ └─chip_lm3s9b96
│ │ ├─app_lm4f
│ │ │ └─chip_lm4f232h5qd
│ │ ├─app_lpc17
│ │ │ └─chip_lpc1766
│ │ ├─app_lpc178
│ │ │ └─chip_lpc1788
│ │ ├─app_lpc40
│ │ │ └─chip_lpc4088
│ │ ├─app_mb9bf5
│ │ │ └─chip_mb9bf506r
│ │ ├─app_mk60d
│ │ │ └─chip_mk60dn512xxx10
│ │ ├─app_stm32f1
│ │ │ ├─chip_stm32f103ze
│ │ │ └─chip_stm32f107vc
│ │ ├─app_stm32f2
│ │ │ └─chip_stm32f207zg
│ │ ├─app_stm32f3
│ │ │ └─chip_stm32f303vc
│ │ ├─app_stm32f4
│ │ │ ├─chip_stm32f407ig
│ │ │ ├─chip_stm32f407vg
│ │ │ └─chip_stm32f407zg
│ │ └─app_xmc4000
│ │ └─chip_xmc4500x144x1024
│ ├─etc
│ │ └─sysdepend
│ │ ├─app_at91sam3
│ │ ├─app_at91sam4
│ │ ├─app_lm3s
│ │ ├─app_lm4f
│ │ ├─app_lpc17
│ │ ├─app_lpc178
│ │ ├─app_lpc40
│ │ ├─app_mb9bf5
│ │ ├─app_mk60d
│ │ ├─app_stm32f1
│ │ ├─app_stm32f2
│ │ ├─app_stm32f3
│ │ ├─app_stm32f4
│ │ └─app_xmc4000
│ ├─include
│ │ ├─cpu
│ │ │ └─sysdepend
│ │ │ ├─armv7e_m
│ │ │ └─armv7_m
│ │ ├─dev
│ │ │ └─sysdepend
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ ├─sbs
│ │ ├─tk
│ │ │ └─sysdepend
│ │ │ ├─armv7e_m
│ │ │ └─armv7_m
│ │ └─tm
│ ├─kernel
│ │ ├─build
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ └─src
│ │ └─sysdepend
│ │ ├─armv7e_m
│ │ │ ├─acc
│ │ │ ├─gcc
│ │ │ └─icc
│ │ └─armv7_m
│ │ ├─acc
│ │ ├─gcc
│ │ └─icc
│ ├─lib
│ │ ├─build
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ ├─libcpu
│ │ │ ├─build
│ │ │ │ ├─at91sam3
│ │ │ │ ├─at91sam4
│ │ │ │ ├─lm3s
│ │ │ │ ├─lm4f
│ │ │ │ ├─lpc17
│ │ │ │ ├─lpc178
│ │ │ │ ├─lpc40
│ │ │ │ ├─mb9bf5
│ │ │ │ ├─mk60d
│ │ │ │ ├─stm32f1
│ │ │ │ ├─stm32f2
│ │ │ │ ├─stm32f3
│ │ │ │ ├─stm32f4
│ │ │ │ └─xmc4000
│ │ │ └─src
│ │ │ └─sysdepend
│ │ │ ├─armv6_m
│ │ │ │ ├─acc
│ │ │ │ ├─gcc
│ │ │ │ └─icc
│ │ │ ├─armv7e_m
│ │ │ │ ├─acc
│ │ │ │ ├─gcc
│ │ │ │ └─icc
│ │ │ └─armv7_m
│ │ │ ├─acc
│ │ │ ├─gcc
│ │ │ └─icc
│ │ ├─libdev
│ │ │ ├─build
│ │ │ │ ├─app_at91sam3
│ │ │ │ ├─app_at91sam4
│ │ │ │ ├─app_lm3s
│ │ │ │ ├─app_lm4f
│ │ │ │ ├─app_lpc17
│ │ │ │ ├─app_lpc178
│ │ │ │ ├─app_lpc40
│ │ │ │ ├─app_mb9bf5
│ │ │ │ ├─app_mk60d
│ │ │ │ ├─app_stm32f1
│ │ │ │ ├─app_stm32f2
│ │ │ │ ├─app_stm32f3
│ │ │ │ ├─app_stm32f4
│ │ │ │ └─app_xmc4000
│ │ │ └─src
│ │ │ └─sysdepend
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ └─libtm
│ │ ├─build
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ └─src
│ ├─lic
│ └─subass
│ └─build
│ ├─app_at91sam3
│ ├─app_at91sam4
│ ├─app_lm3s
│ ├─app_lm4f
│ ├─app_lpc17
│ ├─app_lpc178
│ ├─app_lpc40
│ ├─app_mb9bf5
│ ├─app_mk60d
│ ├─app_stm32f1
│ ├─app_stm32f2
│ ├─app_stm32f3
│ ├─app_stm32f4
│ └─app_xmc4000
└─support
我们真正要用到的只有两个文件夹:sample和source。其中Sameple下由两个文件夹,主要是一些应用案例。source中是uTenux的内核文件和工程模板,以及应用库。除了这个个文件夹,我们还应该看一下manual中的相关知道手册,这些手册都uTenux的移植和架构讲的非常详细。
下面就我这次将uTenux移植到STM32F103ZE做一个详细的讲解。
1、刚才说到其中的source中是uTenux的内核文件和模板及一些应用库,所以我们将这部分单独的拿出来放到自己将要用的一个文件目录,以后这个就是我们的模板了。
2、我们以..\sample\common\01.task为例Step to Step的学习。
首先,我们将01.task目录下的四个文件复制到1中所说的那个目录下的..\source\uTenux\app\usermain\src中替换原有文件。
3、做完以上工作后就可以打开..\source\uTenux\bin\app_stm32f1\workspace.uvmpw在如图中的目录添加TaskSample.c文件。
4、做好以上工作就可以编译了,编译过后通过后由J-Link下载程序至STM32开发板。然后用USB-串口的线连接PC机和STM32F103的UART1(注意硬件连接不能出问题)。下面就可以用串口软件看实验结果了。我用的串口软件是putty,打开putty,设置好对应的参数后(波特率115200),复位STM32F103就可以在Putty中看到实验结果如图所示:
以上便是我对uTenux的初识。谢谢您的阅读,如有不到之处,望您指教。