μC-/OS II(一) PC编译环境的搭建
这个系列博文是关于对《嵌入式实时操作系统 μC-/OS II》(第二版)的学习笔记
μC-/OS II (一) PC编译器环境的搭建
1.关于编译器
采用Borland C++ 4.5作为μC-/OS II源代码的编译器。
下载地址
还需要TASM 5.0
TASM是Borland公司推出的汇编编译器,也是一种使用很广泛的编译器,到目前为止,TASM的最后一个版本是5.0版,这个版本支持WIN32编程,并单独为WIN32编程附带有一整套32位程序:32位的编译器TASM32.EXE、连接器TLINK32.EXE和资源编译器BRC32.EXE。
下载地址
2.编译器安装
1.将Borland C++ 4.5解压,运行INSTALL.EXE,尽量选择默认安装路径“C:\BC45”
2.将TASM.EXE复制到Borland C++ 4.5的安装路径,即"C:\BC45\BIN"中。
3.编译器设置
首先在硬盘中新建一个文件夹用来放置整个调试工程文件:
E:\6_OS\TEST1
在TEST1下分别新建了三个文件夹分别用于存放源代码,目标文件,
E:\6_OS\TEST1\OBJ
E:\6_OS\TEST1\PROJECT
E:\6_OS\TEST1\RELEASE
E:\6_OS\TEST1\SOURCE
新建Project->New Project
选择Dos标准平台
工程文件设置
选择好路径后确认保存
高级设置
生成的工程界面如下:
添加源文件节点
- 将μc/os II源码中\SOFTWARE\uCOS-II\EX1_x86L\BC45\SOURCE中的INCLUDES.H,OS_CFG.H和TEST.C三个文件拷贝到你第一步创建的放置源文件的文件夹内,我的是 E:\6_OS\TEST1\SOURCE
- 添加
\SOFTWARE\uCOS-II\Ix86L\BC45\OS_CPU_A.ASM
\SOFTWARE\uCOS-II\Ix86L\BC45\OS_CPU_C.C
\SOFTWARE\uCOS-II\SOURCE\uCOS_II.C
\SOFTWARE\BLOCKS\PC\BC45\PC.C
E:\6_OS\TEST1\SOURCE\TEST.C
到代码节点中
设置工程参数
会有错误,找不到头文件。
主要是因为源文件中的引用路径不对
双击报错的位置打开源文件,将其中的包含头文件代码改为绝对路径:
/*********************************************************************************************************** uC/OS-II* The Real-Time Kernel** (c) Copyright 1992-1999, Jean J. Labrosse, Weston, FL* All Rights Reserved** MASTER INCLUDE FILE**********************************************************************************************************/ #include <stdio.h>#include <string.h>#include <ctype.h>#include <stdlib.h>#include <conio.h>#include <dos.h>#include <setjmp.h> #include "\software\ucos-ii\ix86l\bc45\os_cpu.h"#include "os_cfg.h"#include "\software\ucos-ii\source\ucos_ii.h"#include "\software\blocks\pc\bc45\pc.h"
改为:
/*********************************************************************************************************** uC/OS-II* The Real-Time Kernel** (c) Copyright 1992-1999, Jean J. Labrosse, Weston, FL* All Rights Reserved** MASTER INCLUDE FILE**********************************************************************************************************/ #include <stdio.h>#include <string.h>#include <ctype.h>#include <stdlib.h>#include <conio.h>#include <dos.h>#include <setjmp.h> #include "E:\6_OS\UcOS\software\ucos-ii\ix86l\bc45\os_cpu.h"#include "os_cfg.h"#include "E:\6_OS\UcOS\software\ucos-ii\source\ucos_ii.h"#include "E:\6_OS\UcOS\\software\blocks\pc\bc45\pc.h"
2
/*********************************************************************************************************** uC/OS-II* The Real-Time Kernel** (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL* All Rights Reserved** File : uCOS_II.C* By : Jean J. Labrosse**********************************************************************************************************/ #define OS_GLOBALS /* Declare GLOBAL variables */#include "includes.h" #define OS_MASTER_FILE /* Prevent the following files from including includes.h */#include "\software\ucos-ii\source\os_core.c"#include "\software\ucos-ii\source\os_flag.c"#include "\software\ucos-ii\source\os_mbox.c"#include "\software\ucos-ii\source\os_mem.c"#include "\software\ucos-ii\source\os_mutex.c"#include "\software\ucos-ii\source\os_q.c"#include "\software\ucos-ii\source\os_sem.c"#include "\software\ucos-ii\source\os_task.c"#include "\software\ucos-ii\source\os_time.c"
改为:
/*********************************************************************************************************** uC/OS-II* The Real-Time Kernel** (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL* All Rights Reserved** File : uCOS_II.C* By : Jean J. Labrosse**********************************************************************************************************/ #define OS_GLOBALS /* Declare GLOBAL variables */#include "includes.h" #define OS_MASTER_FILE /* Prevent the following files from including includes.h */#include "E:\6_OS\UcOS\software\ucos-ii\source\os_core.c"#include "E:\6_OS\UcOS\software\ucos-ii\source\os_flag.c"#include "E:\6_OS\UcOS\software\ucos-ii\source\os_mbox.c"#include "E:\6_OS\UcOS\software\ucos-ii\source\os_mem.c"#include "E:\6_OS\UcOS\software\ucos-ii\source\os_mutex.c"#include "E:\6_OS\UcOS\software\ucos-ii\source\os_q.c"#include "E:\6_OS\UcOS\software\ucos-ii\source\os_sem.c"#include "E:\6_OS\UcOS\software\ucos-ii\source\os_task.c"#include "E:\6_OS\UcOS\software\ucos-ii\source\os_time.c"
接着编译一次:
此时没有编译错误了,只有警告,不用理他,直接运行:
终于成功了
BC工程文件
参考了http://www.cnblogs.com/lazygunner/archive/2011/07/02/2096318.html
和http://www.cnblogs.com/lazygunner/articles/2096250.html
上的内容,感谢上两个博文的作者
转载于:https://www.cnblogs.com/because/archive/2012/01/01/2309262.html
μC-/OS II(一) PC编译环境的搭建相关推荐
- 火山PC使用环境的搭建(火山视窗)
一.下载 ①前言 新建个火山项目,运行时提示如下 根据要求下载 ②下载VS2019社区版 官方下载地址:https://visualstudio.microsoft.com/zh-hans/?rr=h ...
- 详解 masm + textpad 编译环境的搭建
首先下载Masm615以及textpad,建议使用textpad英文版,下面以TextPad 5.4为例,说明编译环境的搭建方法. 安装好textpad之后,启动后的界面是这样的: 一.类型过滤:支持 ...
- uCOS-II PC编译环境搭建(基于BC45)
1.软件安装 基于BC45的uC/OS-II的编译环境需要BC45和TASM5.0两个软件,这是因为BC45不含TASM5.0所以需要额外安装TASM5.0. 1.安装BC45,一般默认为C:\BC4 ...
- windows 搭建python 虚拟环境 写程序_Sublime下配置python编译环境及搭建虚拟环境:(windows下大致相同)...
1.编译环境配置import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0e ...
- 凌阳DVD sunplus sphe8202系列编译环境的搭建
在windows XP系统上搭建sunplus sphe8202编译环境: 1.解压 GCCL2.7z 到C盘根目录,得到GCCL2的文件夹 2.在桌面建立一个命令提示符的快捷方式 3.修改此命令提示 ...
- java编译环境_搭建java编译环境
搭建java编译环境 一.java编译环境 1.准备工作: 下载 jdk-7u79-linux-x64.tar.gz 压缩包 解压 tar zxf jdk-7u79-linux-x64.tar.gz ...
- qt5.3.1+opencv2.4.9编译环境的搭建
到官网下载qt-opensource-windows-x86-mingw482_opengl-5.3.1.exe文件,执行该文件,选择默认安装即可实现QT的安装(安装在C盘的根目录下),该文件封装好了 ...
- rockchip的yocto编译环境的搭建
作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:Conscience_Remains 总述 嵌入式的朋友们,应该知道Linux驱动开发过程中,需要进行搭建交叉编译工具链环境.移植u-boot ...
- MT4Server编译环境的搭建
一周的时间查过的资料,走过的坑,给自己留个参考. 环境一:[win10]+[vs2017]+[c++]+[boost]+[thrift]+[glog] 一.准备工作 1.1 下载地址 下载boost库 ...
最新文章
- OpenCV(总结篇)图像逐像素访问(三种操作:指针、迭代器、at()函数)
- JS 新浪下拉菜单+jQuery
- 5G 信令流程 — 5GC 的会话管理(SM,Session Management)
- Python 神工具包!翻译、文字识别、语音转文字统统搞定
- MySQL在大数据、高并发场景下的SQL语句优化
- 在农村有100万存款,算有钱人吗?
- 神经网络最常用的10个激活函数,一文详解数学原理及优缺点
- 验证码——ImageIO.write的坑
- HC蓝牙模块测试AT指令搭建外部电路遇到的问题
- xshell的一些常用配置
- CTP2交易所成交回报
- CoppeliaSim(vrep)弹簧模型
- python 导入自己写的包
- PS修改图片局部颜色
- mysql 统计请假天数_Javascript 计算请假天数
- 学弟教程-Python-Flask设置允许跨域
- 使用KCP 加速游戏消息,让全球玩家流畅联网
- [IJCAI2016]Makeup Like a Superstar: Deep Localized Makeup Transfer Network
- Nginx报504 gateway timeout错误的解决方法
- 数组里面有值,但是console.log出来后打开却是空
热门文章
- 硬中断、软中断和信号
- 二分匹配(匈牙利算法)
- 【译】An Opinionated Introduction to AutoML and Neural Architecture Search
- ELF文件装载链接过程及hook原理
- 修改服务器404页面,服务器上的404页面做了有什么好处?
- python import出错_Python ImportError: cannot import name urlopen错误分析
- python 字符串 f_Python字符串格式化f-string多种功能实现
- nginx 配置静态文件目录_nginx配置静态资源服务器
- 【普及组模拟赛】家族
- Codeforces 671E Organizing a Race (贪心、线段树)