This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
大家好、我叫 Vinay Sharma、现在正在 CCS 中学习编程。 我有 CCS 9_2版本和 SDK 2_30_00_14版本、但在我的计算机中存在问题。当我尝试调试 SDK 代码而不是生成此图像中显示的错误消息时、我将在出现此问题后发生什么、我可以在 show 中编辑我的要求 所有 SDK 文件
Vinay、
我看到 pwmled2_MSP_EXP432P401R 项目中有一个.cfg 文件。 您是否创建了该文件或将其复制到该文件中? 这是导致您出现问题的原因。 此项目取决于 tirtos_builds_MSP_EXP432P401R_release_ccs 项目。 该项目包含一个 release.cfg 文件。
下面是导入该示例时的样子。
在 Project Dependencies 部分中、我可以看到 pwmled2工程依赖于 tirtos_builds 工程。
pwmled2工程中不应包含.cfg 文件。 tirtos_builds 工程中应包含 release.cfg。 tirtos_builds 工程包含 RTOS 配置。
有关 SDK 的更多信息、请访问 :http://dev.ti.com/tirex/explore/node?a=AocYeEd__2.0.0&node=AHQwTS2nLodR7KivfmOhHg__z-lQYNj__LATEST&r=AocYeEd__LATEST&r=AocYeEd__1.0.0
从工作区中删除这2个工程并再次导入示例可能是最简单的方法。
此致、
John
此致、
John
Sir、我告诉我已经直接导入了您的项目 SDK、我没有更改此代码中的任何内容、但此代码会生成错误、因此现在我要执行的.cfg 文件我将会删除、告诉我成功运行此代码的过程
Vinay、
MSP432P401的 pwmled2示例中没有.cfg 文件。 该文件已通过某种方式添加。 它具有的文件名是在工程中创建新的.cfg 文件时的默认文件名( .cfg。
以下是我的建议。
此致、
John
SIR 根据 您的建议、为 CCS 9.2版本下载 SDK simplelink_msp432p4_SDK_3_30_00_13、但问题相同。我尝试删除 从工作空间编程、然后从笔记本电脑的工作空间重新打开、而不是在该文件中创建问题 在我的笔记本电脑中、CCS AN SDK 的版本在删除打开同一文件后在我的笔记本电脑中正常工作 tirtos_builds_MSP_EXP432P401R_release_ccs 文件未随程序文件导入、这是我的问题之一、也是第二个问题 SDK 和 CCS 版本都可以在我的笔记本电脑中工作、但在我的 PC 中不工作、我已经在中介绍过 新屏幕简短描述
此处.cfg 文件不再存在于您的应用程序工程中。 好极了。
至于构建 tirtos_builds_MSP_EXP432P401R_release_ccs 项目时出现的问题、您可以复制控制台窗口的全部内容、以便我们可以看到发生的错误。 如果右键单击控制台视图,则可以选择“全选”。 然后执行 CTRL-C 将其复制到剪贴板。 然后、请粘贴该线程、以便我们可以看到正在发生的情况。 目前、我只能看到"由于早期错误而导致配置失败"、我需要看到早期错误才能知道发生了什么。
John
/*
*版权所有(c) 2015-2019、德州仪器(TI)公司
*保留所有权利。
*
*以源代码和二进制形式重新分发和使用、有无
*如果满足以下条件、则允许进行修改
符合*:
*
**源代码的重新分发必须保留上述版权
*注意、此条件列表和以下免责声明。
*
**二进制形式的再发行必须复制上述版权
*请注意、中的此条件列表和以下免责声明
*随分发提供的文档和/或其他材料。
*
**德州仪器公司的名称和名称均不相同
*其贡献者可用于认可或推广衍生产品
*未经特定的事先书面许可。
*
*本软件由版权所有者和贡献者"按原样"提供
*以及任何明示或暗示的保证、包括但不限于:
*特定适销性和适用性的隐含保证
*不承认目的。 在任何情况下、版权所有者不得或
*派遣国应对任何直接、间接、偶然、特殊、
*典型或必然的损害(包括但不限于
*采购替代货物或服务;丧失使用、数据或利润;
*或业务中断)、无论原因是什么以及任何责任理论、
*无论是合同、严格责任还是侵权行为(包括疏忽或)
*否则)因使用本软件而以任何方式产生、
*即使被告知可能会发生此类损坏。
*
/*
*==== empty.c ======
*
/* for usleep()*/
#include
#include
#include
/*驱动程序头文件*/
#include
//#include
//#include
//#include
//#include
/*驱动程序配置*/
#include "ti_drivers_config.h"
/*
*==== mainThread ====
*
void * mainThread (void * arg0)
{
/* 1秒延迟*/
uint32_t 时间= 1;
/*调用驱动程序初始化函数*/
GPIO_init();
// I2C_init ();
// spi_init();
// uart_init();
// Watchdog_init();
/*配置 LED 引脚*/
GPIO_setConfig (CONFIG_GPIO_LED_0、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
/*打开用户 LED */
GPIO_WRITE (CONFIG_GPIO_LED_0、CONFIG_GPIO_LED_ON);
while (1){
睡眠(时间);
GPIO_TOGGLE (CONFIG_GPIO_LED_0);
}
}
这是.cfg 文件
/*
*版权所有(c) 2015-2017、德州仪器(TI)公司
*保留所有权利。
*
*以源代码和二进制形式重新分发和使用、有无
*如果满足以下条件、则允许进行修改
符合*:
*
**源代码的重新分发必须保留上述版权
*注意、此条件列表和以下免责声明。
*
**二进制形式的再发行必须复制上述版权
*请注意、中的此条件列表和以下免责声明
*随分发提供的文档和/或其他材料。
*
**德州仪器公司的名称和名称均不相同
*其贡献者可用于认可或推广衍生产品
*未经特定的事先书面许可。
*
*本软件由版权所有者和贡献者"按原样"提供
*以及任何明示或暗示的保证、包括但不限于:
*特定适销性和适用性的隐含保证
*不承认目的。 在任何情况下、版权所有者不得或
*派遣国应对任何直接、间接、偶然、特殊、
*典型或必然的损害(包括但不限于
*采购替代货物或服务;丧失使用、数据或利润;
*或业务中断)、无论原因是什么以及任何责任理论、
*无论是合同、严格责任还是侵权行为(包括疏忽或)
*否则)因使用本软件而以任何方式产生、
*即使被告知可能会发生此类损坏。
*
/*========================= 时钟配置======================== *
VAR 时钟= xdc.useModule('ti.sysbios.knl.Clock');
/*
*默认值取决于系列。 例如、Linux 系统通常只能使用
*支持的最小周期为10000us、倍数为10000us。
* TI 平台的默认值为1000us。
*
clock.tickPeriod = 1000;
/*========================= 默认值(模块)配置=================== *
VAR 默认值= xdc.useModule('xdc.runtime.Defaults');
/*
*允许在目标上加载模块名称的标志。 模块名称
出于调试目的、*字符串放置在.const 段中。
*
*选择一项:
*- true (默认值)
*将此参数设置为 true 将在.const 中包含名称字符串
*部分、以便更轻松地调试错误和断言。
*-错
*将此参数设置为 false 将减小.const 中的占用空间
*部分。 因此、错误和断言消息将包含
*"未知模块"前缀、而不是实际的模块名称。
*
//Defaults.common$.namedModule = true;
Defaults.common$.namedModule = false;
/*========================= 错误配置=================== *
VAR 错误= xdc.useModule('xdc.runtime.Error');
/*
*调用此函数是为了处理所有产生的错误,但与不同
* Error.raiseHook、此函数负责完全处理
带有适当初始化的 Error_Block 的*错误。
*
*选择一项:
*- Error.policyDefault (默认值)
*使用已初始化的 Error_Block 结构和日志调用 Error.raiseHook
*使用模块的记录器时出错。
*- Error.PolicySpin
*在 while (1)循环中捕获以最小化目标的简单替代方案
*占用空间。
*使用 Error.PolicySpin 时,将不会调用 Error.raiseHook。
*- Error.PolicyMin
*执行最小处理和返回的轻量化策略函数。
*
//Error.policyFxn = Error.policyDefault;
//Error.PolicyFxn = Error.PolicySpin;
error.policyFxn =错误.policyMin;
/*
*如果 Error.policyFxn 设置为 Error.policyDefault,则调用此函数
*每当错误模块引起错误时。
*
*选择一项:
*- Error.print (默认值)
*为方便,错误通过 System_printf()进行格式化和输出
*调试。
*-空
*错误未格式化或记录。 此选项减少了代码占用空间。
*-非空函数
*错误调用自定义用户函数。 请参阅错误模块文档
*以了解更多详细信息。
*
//Error.raiseHook = Error.print;
error.raiseHook =空;
//Error.raiseHook ="&myErrorFxn";
/*
*如果 Error.policyFxn 设置为 Error.policyDefault,则此选项适用于
* Error.raiseHook 函数可递归的最大次数
*已调用。 此选项限制无限递归的可能性
*可能导致堆栈溢出。
*默认值为16。
*
error.maxDepth = 2;
/*========================= Hwi 配置=================== *
var halHwi = xdc.useModule('ti.sysbios.hal.Hwi');
var m3Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
/*
*在空闲循环中检查 Hwi (系统)堆栈溢出。
*
*选择一项:
*- true (默认值)
*检查系统堆栈在空闲循环期间溢出的顶字和
*如果检测到一个错误,则会发出一个错误。
*-错
*禁用运行时检查可提高运行时性能并得到
*减小了闪存尺寸。
*
//halHwi.checkStackFlag = true;
halHwi.checkStackFlag = false;
/*
*以下选项会在发生硬件异常时改变系统的行为
检测到*。
*
*选择一项:
*- Hwi.enableException = true
*此选项会使默认的 m3Hwi.excHandlerFunc 函数完全启用
*解码异常并将寄存器转储到系统控制台。
*此选项会在错误模块中引发错误并显示
* ROV 中出现异常。
*- Hwi.enableException = false
*此选项通过不解码或打印来减少代码占用空间
*系统控制台异常。
但是、它仍会在错误模块中引发错误并显示
* ROV 中出现异常。
*- Hwi.exHandlerFunc =空
*这是节省代码空间的最积极的选择;但它是最有效的选择
*很难调试异常。 它将闪存占用空间减小了
*发生异常时插入默认 while (1)陷阱。 此选项
*不会引起错误模块的错误。
*
//m3Hwi.enableException = true;
//m3Hwi.enableException = false;
m3Hwi.exHandlerFunc =空;
/*
*在除以0时启用硬件异常生成。
*
*选择一项:
*- 0 (默认值)
*在除以0时禁用硬件异常
*- 1.
*除以0时启用硬件异常
*
m3Hwi.nvicCCR.DIV_0_TRP = 0;
//m3Hwi.nvicCCR.DIV_0_TRP = 1;
/*========================= 空闲配置========================= *
VAR 空闲= xdc.useModule('ti.sysbios.knl.Idle');
/*
*空闲模块用于指定在无时要调用的函数列表
*系统中正在运行其他任务。
*
*此处添加的函数将在空闲任务内连续运行。
*
*函数签名:
* void func (void);
*
//idleFunc ("&myIdleFunc");
idle.addFunc ('&Power_idleFunc');//添加电源模块的 IDLE 函数*/
/*========================= 内核(SYS/BIOS)配置=================== *
VAR BIOS = xdc.useModule('ti.sysbios.BIOS');
/*
*在 BIOS 库中启用断言。
*
*选择一项:
*- true (默认值)
*启用断言以进行调试。
*-错
*禁用断言以减小代码占用空间并提高性能。
*
//BIOS.assertsEnabled = true;
BIOS.sertsEnabled = false;
/*
*用于确定 xdc.runtime 源是否包含在自定义中的标志
*构建的 BIOS 库。
*
*选择一项:
*- false (默认值)
*预构建的 xdc.runtime 库由相应的目标提供
*用于构建应用程序。
*-正确
* xdc.runtime 库源代码将包含在自定义 BIOS 中
*库。 此选项在两个代码中生成最高效的库
*占用空间和运行时性能。
*
//BIOS.includeXdcRuntime = false;
BIOS.includeXdcRuntime = true;
/*
* SYS/BIOS 运行时以链接的库的形式提供
*与应用程序一起使用。 随提供了该库的几种形式
* SYS/BIOS 产品。
*
*选择一项:
*- BIOS.LibType_Custom
*针对代码大小和进行了高度优化的定制构建库
*运行时性能。
*- BIOS.LibType_Debug
*可用于的非优化自定义构建库
*使用调试器单步执行 API。
*
*
BIOS.libType = BIOS.LibType_Custom;
//BIOS.libType = BIOS.LibType_Debug;
/*
*运行时实例创建使能标志。
*
*选择一项:
*- true (默认值)
*允许在运行时调用 Mod_create()和 Mod_delete ()
*需要一个默认堆用于动态内存分配。
*-错
*通过禁止 Modo_create()和 Mod_delete ()来减少代码占用空间
*在运行时调用。 对象实例是通过构建的
* Mod_construct()并通过 Mod_析 构函数()析构。
*
BIOS.runtimeCreatesEnabled = true;
//BIOS.runtimeCreatesEnabled = false;
/*
*在 BIOS 库中启用日志。
*
*选择一项:
*- true (默认值)
*启用日志以进行调试。
*-错
*禁用日志记录以减少代码占用空间并改善运行时间
性能。
*
//BIOS.logsEnabled = true;
BIOS.logsEnabled = false;
/*========================= 内存配置=================== *
VAR 内存= xdc.useModule('xdc.runtime.Memory');
/*
*内存模块本身只为任何一个提供一个通用接口
*各种系统和应用特定的内存管理策略
*由 IHeap 模块实现(例如、 HeapMem、HeapBuf)。
*
/*
*使用 HeapMem 主堆实例使用由链接器定义的存储器区域
*在顶部添加 HeapTrack 以查找超额写入、无效释放和
*帮助查找堆和内存泄漏的正确大小。
*
VAR HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
HeapMem.primaryHeapBaseAddr ="&_primary_heap_start___";
HeapMem.primaryHeapEndAddr ="&_primary_heap_end___";
var heapMemParams = new HeapMem.Params();
heapMemParams.usePrimaryHeap = true;
//var HeapTrack = xdc.useModule('ti.sysbios.heaps.HeapTrack');
//var heapTrackParams = new HeapTrack.Params;
//heapTrackParams.heap = HeapMem.create (heapMemParams);
//Program.global.heap0 = HeapTrack.create (heapTrackParams);
program.global.heap0 = HeapMem.create (heapMemParams);
Memory.defaultHeapInstance = Program.global.heap0;
/*========================= 程序配置=================== *
/*
*必须将 Program.stack 设置为0才能进行设置
要在示例中确定的系统堆栈大小*
*链接器命令文件。
*
program.stack = 0;
/*
*取消注释以启用将 GNU 目标打印到 CCS 控制台的半主机功能。
*请阅读以下 TIRTOS Wiki 页面以了解有关半主机的更多信息:
* processors.wiki.ti.com/.../TI-RTOS_Examples_SemiHosting
*
if (Program.build.target.$name.match (/GNU/)){
//var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
}
/*========================= 信标配置=================== *
VAR 信标= xdc.useModule('ti.sysbios.knl.Semaphore');
/*
*启用对任务优先级挂起队列的全局支持。
*
*选择一项:
*- true (默认值)
*这允许根据任务优先级为待处理的任务提供服务。
*-错
*待处理任务是基于先入先出的服务。
*
*在 ROM 中使用 BIOS 时:
*此选项必须设置为 false。
*
//semaphore.supportsPriority = true;
Semaphore.supportsPriority = false;
/*
*允许通过信标隐式布置事件、
*禁用以保存其他代码。
*
*选择一项:
*-正确
*这允许信标模块发布信标和事件
*同步。
*- false (默认值)
*必须显式发布事件以解除阻止任务。
*
*
//semaphore.supportsEvents = true;
Semaphore.supportsEvents = false;
/*========================= Swi 配置=================== *
VAR Swi = xdc.useModule('ti.sysbios.knl.Swi');
/*
*软件中断是封装函数的对象
*已执行且具有优先级。 软件中断被优先化、优先于任务
和被硬件中断服务例程抢先。
*
*包括此模块是为了允许在用户的应用程序中使用 Swi。
*
/*========================= 系统配置=================== *
VAR 系统= xdc.useModule('xdc.runtime.System');
/*
*当系统异常退出时调用中止处理程序。
*
*选择一项:
*- System.AbortStd (默认)
*调用 ANSI C 标准'abort()'来终止应用程序。
*- System.abortSpin
*在 while (1)陷阱中无限循环的轻量级中止函数
*函数。
*-自定义中止处理程序
*用户定义的函数。 请参阅的系统模块说明文件
*详细信息。
*
//System.ABortFxn = System.ABortStd;
System.ABortFxn = System.ABortSpin;
//System.AbortFxn ="&myAbortSystem";
/*
*系统正常退出时调用 Exit 处理程序。
*
*选择一项:
*- System.exitStd (默认)
*调用 ANSI C 标准'exit()'以终止应用程序。
*- System.exitSpin
*在 while (1)陷阱中无限循环的轻量级退出函数
*函数。
*-自定义退出函数
*用户定义的函数。 请参阅的系统模块说明文件
*详细信息。
*
//System.exitFxn = System.exitStd;
System.exitFxn = System.exitSpin;
//System.exitFxn ="&myExitSystem";
/*
*最小化系统模块中的退出处理程序数组。 系统模块包括
*向 System_atexit()注册的函数数数组,即
*由 System_exit()调用。 默认值为8。
*
System.maxAtexitHandlers = 2;
/*
*启用 System_printf()以显示浮点值。 使用较长的'%f%$L%$S%$F'
*如果您的代码启用了 SYS/BIOS 指令插入(断言/错误/日志)、
*这是'debug'配置文件的典型情况。
*
//System.extendedFormats ='%f%$L%$S%$F';
System.extendedFormats ='%f%$S';
/*
* System.SupportProxy 定义了 System 的低级实现
*诸如 System_printf()、System_flush()等函数
*
*选择一对:
*- SysMin
*此模块维护一个内部可配置的循环缓冲器
*存储输出,直到调用 System_flush()。
*循环缓冲区的大小通过 SysMin .bufSize 设置。
*- SysCallback
* SysCallback 允许系统 API 的用户定义实现。
* SysCallback 支持代理的代码占用空间更小,可以是
*用于提供定制 System_printf 服务。
*默认的 SysCallback 函数指向存根函数。 请参阅
* SysCallback 模块的文档。
*
//var SysMin = xdc.useModule('xdc.runtime.SysMin');
//SYSMIN.bufSize = 1024;
//System.SupportProxy = SysMin;
VAR SysCallback = xdc.useModule('xdc.runtime.SysCallback');
System.SupportProxy = SysCallback;
//SysCallback.abortFxn ="&myUserAbort";
//SysCallback.exitFxn ="&myUserExit";
//SysCallback.flushFxn ="&myUserFlush";
//SysCallback.putchFxn ="&myUserPutch";
//SysCallback.readyFxn ="&myUserReady";
/*========================= 任务配置=================== *
VAR 任务= xdc.useModule('ti.sysbios.knl.Task');
/*
*检查任务堆栈是否有溢出情况。
*
*选择一项:
*- true (默认值)
*在期间启用任务堆栈溢出情况的运行时检查
*上下文切换("从"和"到")
*-错
*禁用任务堆栈溢出情况的运行时检查。
*
//Task.checkStackFlag = true;
Task.checkStackFlag = false;
/*
*设置创建任务时的默认任务堆栈大小。
*
*默认值取决于所使用的器件。 减少默认堆栈
*大小可节省更多内存。
*
Task.defaultStackSize = 512;
/*
*启用空闲任务。
*
*选择一项:
*- true (默认值)
*创建优先级为0的任务,调用空闲挂钩函数。 这种情况
必须将*选项设置为 true 才能通过 Power 实现节能
*模块。
*-错
*未创建空闲任务。 此选项占用的内存较少、因为没有
*需要附加的默认任务堆栈。
*要在没有空闲任务的情况下通过电源模块实现节能、
*将 Idle.run 添加为 Task.allBlockedFunc。
*
task.enableIdleTask = true;
//Task.enableIdleTask = false;
//Task.allBlockedFunc = Idle.run;
/*
*如果 Task.enableIdleTask 设置为 true,则此选项设置空闲任务
*堆栈大小。
*
*减小空闲堆栈大小可节省更多内存。
*
task.idleTaskStackSize = 512;
/*
*减少任务优先级的数量。
*默认值为16。
*减少任务优先级的数量可节省内存。
*
Task.numPriorities = 16;
/*========================= 文本配置=================== *
var text = xdc.useModule('xdc.runtime.Text');
/*
*这些字符串放置在.const 段中。 将此参数设置为
* false 将在.const 段中节省空间。 错误、断言和记录消息
*将打印原始 ID 和 args、而不是格式化的消息。
*
*选择一项:
*- true (默认值)
*此选项将测试字符串加载到.const 中以方便调试。
*-错
*此选项可减小.const 占用空间。
*
//text.isLoaded = true;
text.isLoaded = false;
/*========================= 类型配置=================== *
VAR 类型= xdc.useModule('xdc.runtime.Types');
/*
*此模块定义了在中使用的基本常量和类型
* xdc.runtime 软件包。
*
/*========================= 应用程序特定实例========================= *
/*========================= 诊断配置=================== *
//var 诊断= xdc.useModule('xdc.runtime.Diags');
/*
*您可以使用诊断程序模块来设置和清除模块诊断程序中的位
*掩码、用于控制该模块内的诊断。 A
*模块诊断掩码控制 ASSERT 和 Log 语句
*在该模块中、禁用这些语句将产生
*代码节省。
*
/*========================= 日志记录配置=========== *
//var Log = xdc.useModule('xdc.runtime.Log');
/*
*模块和应用程序代码通过调用生成 Log_Event 事件
*日志模块的功能。
*禁用此处的所有 Log 语句将允许优化器完全执行
*从应用程序中删除所有日志代码。
*
*注意:要在应用程序中生成日志事件,请使用两个诊断程序
*并且必须设置日志掩码。 请参阅的 SYS/BIOS API 指南
*更多信息。
*
/*
* LoggingSetup 将 TI-RTOS 模块配置为捕获用户指定的信息
*例如 CPU 负载、任务负载和任务执行、以便可以
*由系统分析器显示。
*
//var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
//LoggingSetup.loadLoggerSize = 256;
//LoggingSetup.mainLoggerSize = 512;
//LoggingSetup.sysbiosLoggerSize = 1024;
/*========================= 主配置=================== *
VAR Main = xdc.useModule('xdc.runtime.Main');
/*此主模块的配置用于不在模块中的所有代码*/
/*========================= POSIX 配置=================== *
VAR 设置= xdc.useModule('ti.posix.tirtos.Settings');
/*========================= 事件配置=================== *
VAR 事件= xdc.useModule('ti.sysbios.knl.Event');
/*========================= 邮箱配置=========== *
VAR 邮箱= xdc.useModule('ti.sysbios.knl.Mailbox');
/*========================= ClockFreqs 配置=================== *
/* MSP432电源驱动程序需要 SYS/BIOS 时钟频率模块*/
VAR ClockFreqs = xdc.useModule('ti.sysbios.family.arm.msp432.ClockFreqs');
这是 main_tirtos.c 文件
/*
*版权所有(c) 2016-2019、德州仪器(TI)公司
*保留所有权利。
*
*以源代码和二进制形式重新分发和使用、有无
*如果满足以下条件、则允许进行修改
符合*:
*
**源代码的重新分发必须保留上述版权
*注意、此条件列表和以下免责声明。
*
**二进制形式的再发行必须复制上述版权
*请注意、中的此条件列表和以下免责声明
*随分发提供的文档和/或其他材料。
*
**德州仪器公司的名称和名称均不相同
*其贡献者可用于认可或推广衍生产品
*未经特定的事先书面许可。
*
*本软件由版权所有者和贡献者"按原样"提供
*以及任何明示或暗示的保证、包括但不限于:
*特定适销性和适用性的隐含保证
*不承认目的。 在任何情况下、版权所有者不得或
*派遣国应对任何直接、间接、偶然、特殊、
*典型或必然的损害(包括但不限于
*采购替代货物或服务;丧失使用、数据或利润;
*或业务中断)、无论原因是什么以及任何责任理论、
*无论是合同、严格责任还是侵权行为(包括疏忽或)
*否则)因使用本软件而以任何方式产生、
*即使被告知可能会发生此类损坏。
*
/*
*==== main_tirtos.c ====
*
#include
/* POSIX 头文件*/
#include
/* RTOS 头文件*/
#include
/*驱动程序配置*/
#include
extern void * mainThread (void * arg0);
/*以字节为单位的栈大小*/
#define THREADSTACKSIZE 1024
/*
*==== main ====
*
int main (空)
{
pthread_t 线程;
pthread_attr_t atttrs;
struct sched_param primParam;
int retc;
/*调用驱动程序初始化函数*/
Board_init();
/*使用默认值初始化属性结构*/
pthread_attr_init (atttrs);
/*设置优先级、分离状态和堆栈大小属性*/
priParam.sched_priority = 1;
retc = pthread_attr_setschedparam (&attrs、&priParam);
retc |= pthread_attr_setdetachstate (&attrs、pthread_create_detachstate);
retc |= pthread_attr_setstacksize (&attrs、THREADSTACKSIZE);
如果(retc!= 0){
/*无法设置属性*/
while (1){}
}
retc = pthread_create (&thread、&attrs、mainThread、NULL);
如果(retc!= 0){
/* pthread_create()失败*/
while (1){}
}
BIOS_start();
返回(0);
}
告诉我与我的关系
SIR TI RTOS 和 Free RTOS 之间的区别是什么、以及 我们如何 在 SDK 示例中编辑 TI stak
说明资源路径位置类型
无法构建工程。 引用的 RTSC 配置项目"tirtos_builds_MSP_EXP432P401R_release_ccs"包含构建错误。 empty_MSP_EXP432P401R_tirtos_ccs empty_MSP_EXP432P401R_tirtos_ccs 问题
如何消除此错误此 SDK 和 CCS 版本已在我的笔记本电脑中工作、但在我的电脑中不工作
这是什么
Vinay、
该内容来自"问题"视图。 我需要"控制台"视图中的内容、该视图具有更多详细信息。
John