下载rt-thread-master-3.0.4源文件,使用keil4.74.
一、建立目录文件
1、建立目录test,建立子目录build、rt-thread等目录;
2、拷贝rt-thread-master-3.0.4\bsp\stm32f10x目录下的applications、drivers、libraries三个目录到test下;
3、拷贝rt-thread-master-3.0.4目录下components、include、libcpu、src四个目录到test/rt-thread目录下;
4、拷贝rt-thread-master-3.0.4\bsp\stm32f0x目录下rtconfig.h到test/rt-thread目录下。
二、建立工程
1、在test目录下建立工程,器件选择smtm32f103ve,命名project,不要启动文件。
2、中间文件输出到build,可执行文件命名rtthread-stm32。
3、user标签页,run #1中输入fromelf --bin !L --output rtthread.bin,在工程目录生产bin文件。
4、c/c++标签页,定义全局变量STM32F10X_HD, RT_USING_ARM_LIBC, USE_STDPERIPH_DRIVER,包含目录
applications;drivers;Libraries\STM32F10x_StdPeriph_Driver\inc;Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;.\rt-thread\components\CMSIS\Include;.\rt-thread\include;.\rt-thread\libcpu\arm\cortex-m3;.\rt-thread\libcpu\arm\common;.\rt-thread\components\dfs\include;.\rt-thread\components\dfs\filesystems\devfs;.\rt-thread\components\dfs\filesystems\elmfat;.\rt-thread\components\drivers\include;.\rt-thread\components\finsh;.\rt-thread\components\libc\compilers\armlibc;.\rt-thread。一定要勾选C99 mode,按照c99标准编译,否则出错。
5、在linker标签页,misc controls中输入--keep *.o(.rti_fn.*) --keep *.o(FSymTab) --keep *.o(VSymTab),避免不编译finsh组件中不用的内容。
三、添加工程文件
1、工程目标改成rtthread-stm32,建立applications、drivers、config、fwlib、cmsis、kernel、cortex-m3、devicedrivers、finsh、libc、filessystem等分组;
2、applications中添加文件:test\applications目录中源文件;
3、drivers中添加文件:test\drivers目录中源文件,不包含或编译dm9000a、fm24cl64、ili_lcd_general、touch等源文件;
4、config中添加文件:test\rt-thread目录中rtconfig.h和test\drivers目录下的stm32f103x_conf.h,便于配置,也可不建立次组;
5、fwlib中添加文件:test\libraries\STM32F10x_StdPeriph_Driver\src目录下所有文件;
6、cmsis中添加文件:test\libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下system_stm32f10x.c和test\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录下startup_stm32f10x_hd.s(不必添加test\Libraries\CMSIS\CM3\CoreSupport下core_cm3.c);
7、kernel中添加文件:test\rt-thread\src目录下全部文件;
8、cortex-m3中添加文件:test\rt-thread\libcpu\arm\cortex-m3目录下cpuport.c、context_rvds.s和test\rt-thread\libcpu\arm\common目录下的backtrace.c、div0.c、showmem..c;
9、evicedrivers中添加文件:test\rt-thread\components\drivers\src目录下.c文件、test\rt-thread\components\drivers\can目录下can..c、test\rt-thread\components\drivers\misc目录下pin.c、test\rt-thread\components\drivers\serial目录下serial..c;
10、finsh中添加文件:test\rt-thread\components\finsh目录下全部文件;
11、libc中添加文件:test\rt-thread\components\libc\compilers\armlibc目录下.c文件;
12、filessystem中添加文件:test\rt-thread\components\dfs\src目录下.c文件、test\rt-thread\components\dfs\filesystems\devfs目录下devfs.c、test\rt-thread\components\dfs\filesystems\elmfat目录下dfs_elm.c和ff.c。
工程建立结束,直接编译,等待编译结束:
工程源码下载: