找不到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编译例程需要修改的更多相关文章

  1. linux内核编译,内核参数修改

    核心(kernel):/boot/vmlinuz-version version 带发行包版本,本地版本内核模块(kernel object): /lib/modules/version/ 内核设计: ...

  2. VS2015编译FFMPEG,修改FFmpeg缓冲区大小解决实时流解码丢包问题,FFmpeg错误rtsp流地址卡死的问题,设置超时

    之前尝试过很多网上利用Windows编译FFmpeg的文章,都没有办法编译X64位的FFmpeg,有些教程中有专门提到编译64位的FFmpeg需要下载mingw-w64-install,但是编译的过程 ...

  3. react-native android/ios 根据配置文件编译时自动修改版本号

    开发react-native时大都有过这个操作,当版本迭代时候要修改app版本号时,一般都这样做 Android: 的要修改build.gradle文件的versionName ios: 打开xcod ...

  4. net网站发布-允许更新此预编译站点 及修改发布后内容

    我们可以通过如下的方法发布VS2010的网站: “生成”→“发布网站”:弹出对话框! 在打开的对话框中,有一个选项是至关重要的,那就是“允许更新此预编译站点”: “允许更新此预编译站点”这一项,默认情 ...

  5. android编译遇到问题修改

    (注意要确定安装了jdk) 第一步: cd  lichee; ./build.sh  -p sun5i_elite -k 3.0  (apt-get install uboot-mkimage需要安装 ...

  6. 重新编译kubeadm,修改默认证书时间

    参考 kubeadm alpha certs renew Kubeadm1.14 证书调整 kubeadm 部署的 kubernetes 集群,默认的证书有效时间是1年,需要每年手工更新. 1. 重新 ...

  7. 使用requirejs+vue 打造 无需编译发布便捷修改调整的模块开发方案 (一)

    前言 不知道大家有没有这种感觉,现在流行的很多前端技术,基本上都基于webpack编译,当然不是说这种方案不好,在标准的开发流程运行中,这种方式其实也挺不错,管理方便,代码统一. 痛点:项目不是单独针 ...

  8. 反编译DLL并修改DLL中的内容

    使用场景:针对当前用户因不愿意进行软件版本升级,但又希望可以解决当前问题,此时可以考虑通过反编辑DLL进行修改内容,然后重新生成新的DLL 操作步骤: 1.首先使用ILSpy.exe反编译DLL,查看 ...

  9. [Azure DevOps] 编译时自动修改版本号

    1. 需求 在使用 Pipeline 自动化 CI/CD 流程的过程中,我还还需要自动修改程序集的版本号.这个功能 EdiWang 和LeoLaw 都写文章讲解过做法.不过我的项目基本都是 .Net ...

随机推荐

  1. NOIP初赛知识点大全-普及+提高组

    NOIP初赛知识点大全-普及+提高组 https://mp.weixin.qq.com/s/vSXLDxmbBoFfZPzD8lrt3w

  2. linux清除缓存

    linux清除缓存:需要root权限$ sync$ echo 3 >/proc/sys/vm/drop_caches 上面的echo 3 是清理所有缓存 echo 0 是不释放缓存 echo 1 ...

  3. Hierarchical softmax(分层softmax)简单描述.

    最近在做分布式模型实现时,使用到了这个函数. 可以说非常体验非常的好. 速度非常快,效果和softmax差不多. 我们知道softmax在求解的时候,它的时间复杂度和我们的词表总量V一样O(V),是性 ...

  4. Docker入门 - 003 Docker 实例

    Docker Hello World Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world runoob@runoob: ...

  5. mac ssh 连接超时

    打开终端,进入,/etc/ssh.sudo vi ssh_config 最后一行添加 ServerAliveInterval30 然后保存就可以了

  6. 【CFD之道】2018年原创文章汇总

    以下是公众号CFD之道2018年的全部原创文章,共计210篇. 1 Fluent验证案例[60篇] Fluent验证案例02:通过均匀热通量管道层流流动 Fluent验证案例03:管道中湍流流动压降计 ...

  7. Android Studio创建JAR/AAR库

    [时间:2017-09] [状态:Open] [关键词:Android,Android Studio,gradle,jar,aar,library] 0 引言 最近在工作中遇到了升级Android S ...

  8. shadowMap

    采用PCF软化阴影,感觉还是不够柔软

  9. 鼠标交互插件threex.domevents介绍

    threex.domevents是一个three.js的扩展库,支持3D场景的交互.和我们操作DOM树的事件相似,名称都是一样的.所以使用起来非常方便.另外他也提供了连接操作.单击网格可实现跳转功能. ...

  10. 目前(2018年)在北京java程序员平均薪水是多少呢?

    1. 这个要看看个人java开发能力,你那个自己带项目做团队的比较高哦 2. 一般来说刚毕业的本科实习生大约在5000左右,干半年基本都张到7.5左右了. 3. Java程序员一般都集中在北京,上海和 ...