stm32f769ni-discovery编译例程需要修改
找不到cmsis_os.h:
方法:在pack文件夹下找cmsis_os.h文件,有四个,选RTOS2文件夹下的。
原因:cmsis_os2.h是新版本,cmsis_os.h封装了cmsis_os2.h,程序未包含cmsis_os.h;
结果:添加目录C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.0.0\CMSIS\RTOS2\RTX\Include1,这里有cmsis_os.h文件
osRtxErrorStackUnderflow等未定义:
方法:修改名称
结果:其实直接在source文件夹下添加RTX_Config.c,在RTOS2\RTX\Config下会解决后边的很多问题;
os_config未定义:
结果:添加路径\RTOS2\RTX\Include,只有这个路径下的文件有os_config实体定义;
GUI_X_RTE的一些函数没有实体定义:
原因:GUI_X_RTE是以前编的,CMSIS更新了,函数名称变了,因此要找到以前的函数。
结果:Source中添加RTOS2\RTX\Library\cmsis_os1.c
os_config没有定义:
方法:只有下面路径的rtx_config.h有这个定义;
结果:编译器增加rtx_config.h的路径\RTOS2\RTX\Include;
没有SHP:
结果:core_cm.h中SHP更改为SHPR
stm32f7xx.h选择器件型号:
stm32f7xx.h中去掉注释 stm32f769 ;
os_error的名称不匹配;
RTX_Config.c
OS Error Callback function中的错误编码名称修改,RTX_Config.c中把Rtx改为_;例如:osRtxErrorStackUnderflow改为os_ErrorStackUnderflow;
错误编码的名称在rtx_os.h中定义的,所以出现问题的原因是这两个文件的生成日期不一样?还是两个不同单位编写的?
RTX_Config.c位于工程目录-RTE-CMSIS下,有版本号;包含编译器头文件;
rtx_os.h位于RTOS2-RTX-Include,而这个目录下有rtx_config.c,注意到和上一个文件只是大小写不同,并且里边的程序更复杂。
RTX_Config.c中函数名osRtxErrorNotify,更改为os_Error,和rtx_os.h中的定义对应起来;
函数名osRtxIdleThread,更改为os_IdleThread,和rtx_os.h中的定义对应起来
RTX_Config.c在CMSIS组件里;
GUI_X_RTE.c
找不到cmsis.h文件;cmsis_os2.h更高级一点,函数的参数也不一样,直接更改头文件会有问题。所以添加目录C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.0.0\CMSIS\RTOS2\RTX\Include1,这里有cmsis_os.h文件;但这样的话,c程序要不要跟着改变呢;果然报错了,提到里边的一些函数没有实体;要把拥有这些实体的c程序添加到工程中;cmsis.h已经#inlcude了cmsis_os2.h了;
编译器增加cmsis_os.h的路径\RTOS2\RTX\Include1
应该是GUI_X_RTE这个文件写的比较早,用到CMSIS组件,但现在CMSIS组件更新了,里边没有GUI_X_RTE以前用到的函数
Source中添加RTOS2\RTX\Library\cmsis_os1.c解决了;
stm32f7xx.h中去掉注释 stm32f769 ;
core_cm.h中SHP更改为SHPR;
rtx_kernel.c
os_Config没有定义;对应os_info,查找const os_config_t os_Config只有如下文件夹有定义rtx_config.h;编译器增加rtx_config.h的路径\RTOS2\RTX\Include
Invalid kernel tick frequency
Source中添加RTOS2\RTX\Config\RTX_Config.c,maybe不用includertx_config.h的。因为这个文件夹下已经include了;
stm32f769ni-discovery编译例程需要修改的更多相关文章
- linux内核编译,内核参数修改
核心(kernel):/boot/vmlinuz-version version 带发行包版本,本地版本内核模块(kernel object): /lib/modules/version/ 内核设计: ...
- VS2015编译FFMPEG,修改FFmpeg缓冲区大小解决实时流解码丢包问题,FFmpeg错误rtsp流地址卡死的问题,设置超时
之前尝试过很多网上利用Windows编译FFmpeg的文章,都没有办法编译X64位的FFmpeg,有些教程中有专门提到编译64位的FFmpeg需要下载mingw-w64-install,但是编译的过程 ...
- react-native android/ios 根据配置文件编译时自动修改版本号
开发react-native时大都有过这个操作,当版本迭代时候要修改app版本号时,一般都这样做 Android: 的要修改build.gradle文件的versionName ios: 打开xcod ...
- net网站发布-允许更新此预编译站点 及修改发布后内容
我们可以通过如下的方法发布VS2010的网站: “生成”→“发布网站”:弹出对话框! 在打开的对话框中,有一个选项是至关重要的,那就是“允许更新此预编译站点”: “允许更新此预编译站点”这一项,默认情 ...
- android编译遇到问题修改
(注意要确定安装了jdk) 第一步: cd lichee; ./build.sh -p sun5i_elite -k 3.0 (apt-get install uboot-mkimage需要安装 ...
- 重新编译kubeadm,修改默认证书时间
参考 kubeadm alpha certs renew Kubeadm1.14 证书调整 kubeadm 部署的 kubernetes 集群,默认的证书有效时间是1年,需要每年手工更新. 1. 重新 ...
- 使用requirejs+vue 打造 无需编译发布便捷修改调整的模块开发方案 (一)
前言 不知道大家有没有这种感觉,现在流行的很多前端技术,基本上都基于webpack编译,当然不是说这种方案不好,在标准的开发流程运行中,这种方式其实也挺不错,管理方便,代码统一. 痛点:项目不是单独针 ...
- 反编译DLL并修改DLL中的内容
使用场景:针对当前用户因不愿意进行软件版本升级,但又希望可以解决当前问题,此时可以考虑通过反编辑DLL进行修改内容,然后重新生成新的DLL 操作步骤: 1.首先使用ILSpy.exe反编译DLL,查看 ...
- [Azure DevOps] 编译时自动修改版本号
1. 需求 在使用 Pipeline 自动化 CI/CD 流程的过程中,我还还需要自动修改程序集的版本号.这个功能 EdiWang 和LeoLaw 都写文章讲解过做法.不过我的项目基本都是 .Net ...
随机推荐
- iOS10使用SecKeyCreateWithData读取公钥私钥
在使用openssl命令生成RSA公钥私钥以后,当后端人员把密钥的字符串发给你: 首先要问清公钥私钥的密钥格式(PKCS1,PKCS8),密钥位数(1024,2048),然后在iOS10以后,使用苹果 ...
- 阿里云物联网平台体验(树莓派+Python篇)
阿里云物联网平台体验(树莓派+Python篇) 虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作.但是同时也见证了 ...
- 采石厂管理系统V3.0版本上线(采石厂车辆出入管理系统,石厂开票系统)
新版系统包含老版所有功能,软件基础功能请点击查看<采石管理系统,采石厂车辆出入管理系统> 新增功能点 近期对采石厂管理系统进行了升级和完善,系统更加灵活好用,应用场景更加广泛.主要更新一下 ...
- html5利用websocket完成的推送功能(tomcat)
html5利用websocket完成的推送功能(tomcat) 利用websocket和java完成的消息推送功能,服务器用的是tomcat7.0.42,一些东西是自己琢磨的,也不知道恰不恰当,不恰当 ...
- C#通过用户名与密码访问共享目录
C#通过用户名与密码访问共享目录 using System; using System.Collections.Generic; using System.Linq; using System.Tex ...
- Java多线程:CountDownLatch、CyclicBarrier 和 Semaphore
场景描述: 多线程设计过程中,经常会遇到需要等待其它线程结束以后再做其他事情的情况. 有几种方案: 1.在主线程中设置一自定义全局计数标志,在工作线程完成时,计数减1.主线程侦测该标志是否为0,一 ...
- Faster-RCNN 算法解读(转)
论文:<Faster R-CNN: Towards Real-Time ObjectDetection with Region Proposal Networks> 摘要:算法主要解决两个 ...
- 在WSL中使用Window10中的virtualenv环境
1.进入WSL的终端 2.创建env.sh脚本,内容如下: export WORKON_HOME=你环境的总目录if [ ! -d "$WORKON_HOME/$1/" ];the ...
- springboot-aop
AOP(面向切面编程)是Spring的两大核心功能之一,功能非常强大,为解耦提供了非常优秀的解决方案. 现在就以springboot中aop的使用来了解一下如何使用aop. 写几个简单的Spring ...
- C# 移除Response Header,403调整返回为404Make IIS return a 404 status code instead of 403
Server Information Revealed For the benefit of those who land here through a google/bing search:: He ...