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.

[参考译文] RTOS/TMS320C6746:未定义 SYMOL:Board_init。 Board_init 在哪里? 我是否错过了什么?

Guru**** 2558250 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/625278/rtos-tms320c6746-undefined-symol-board_init-where-is-board_init-am-i-miss-something

器件型号:TMS320C6746
Thread 中讨论的其他器件:OMAPL138

工具/软件:TI-RTOS

以下是我的代码:

/*
=== main.c ======
*/

#include 

#include 
#include 

#include 

#include 
#include 
/*
=== taskFxn ====
*/
void taskFxn (UArg a0、UArg A1)
{
system_printf ("enter taskFxn ()\n");

Task_sleep (10);

system_printf ("exit taskFxn ()\n"\});

system_flush();/*强制 SysMin 输出到控制台*/
}

/*
=== main ====
*/
int main()
{
board_initCfg boardCfg;
boardCfg = Board_init_PINMUX_CONFIG | Board_init_UART_stdio;
board_init (boardCfg);

Task_Handle 任务;
ERROR_Block EB;

system_printf ("enter main()\n");

ERROR_INIT (&EB);
任务= Task_create (taskFxn、NULL、&EB);
if (task =NULL){
System_printf ("Task_create() failed!\n");
BIOS_exit (0);
}

BIOS_start();/*不返回*/
返回(0);
}

这是项目属性:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Board_Init API 来自 PDK 中的电路板库。 如果您在 LCDK 平台上运行此代码、则需要在.cfg 文件中添加以下内容。

    VAR devType ="omapl138"

    /*加载 OSAL 封装*/
    var osType ="tirtos"
    VAR OSAL = xdc.useModule('ti.osal.Settings');
    OSAL.osType = osType;
    OSAL.socType = devType;

    /*使用 CSL 封装*/
    VAR_l = XDC.loadPackage ('ti.CSL');
    Csl.Settings.deviceType = devType;

    /*加载电路板封装并设置电路板名称*/
    VAR 板= XDC.loadPackage ('ti.board');
    board.Settings.boardName ="lcdkOMAPL138";

    请注意、在创建示例之前、请参阅一些 PDK 示例以了解其工作原理。 要创建 PDK 驱动程序示例、您需要运行 pdkProjectCreate 脚本、如下所示:

      

    在运行 Project create 脚本之前、请确保已设置 PDK 或 Processor SDK RTOS 编译环境。

    此致、

    Rahul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    //
    *德州仪器(TI)公司版权所有2015。
    *
    保留所有权利。 德州仪器(TI)公司的财产。
    *通过
    合同*授予使用、复制或披露此代码的受限权限。
    *
    *//
    
    //*此文件由 ti.sysbios.GenX 生成*/
    
    /*
    === uart_test.cfg ===========
    *
    //
    
    *加载所有必需的 BIOS/XDC 运行时软件包*/
    var 内存 = xdc.useModule('xdc.runtime.Memory');
    var BIOS = xdc.useModule('ti.sysbios.BIOS');
    var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
    var HeapBuf = xdc.useModule('ti.sysbios.heaps.HeapBuf');
    var 日志 = xdc.useModule('xdc.runtime.Log');
    var 任务 = xdc.useModule('ti.sysbios.knl.Task');
    var 信号量 = xdc.useModule('ti.sysbios.knl.Semaphore');
    //var CpIntc = xdc.useModule('ti.sysbios.family.c66.tci66xx.CpIntc');
    var Hwi = xdc.useModule('ti.sysbios.family.c64p.Hwi');
    var ECM = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');
    var core = xdc.useModule('ti.sysbios.hal.Core');
    
    var devType ="omapl138"
    
    /*加载 OSAL 软件包*/
    var osType ="tirtos"
    var OSAL = xdc.useModule('ti.osal.Settings');
    OSAL.osType = osType;
    OSAL.socType = devType;
    
    /*使用 CSL 软件包*/
    var devl = XDC.loadPackage ('ti.CSL');
    Csl.Settings.deviceType = CSType;
    
    //加载电路板包并设置电路板名称*/
    var Board = XDC.loadPackage ('ti.board');
    board.Settings.boardName ="lcdkOMAPL138";
    
    //加载性能评测包*/
    /* var Utils = XDC.loadPackage ('ti.utils.profiling');*/
    
    //加载 UART 软件包*/
    var UART = Xdc.sock.stock.uart
    
    = xdc.stock.state.uart;'devuart.uart.uart.uart = xuart.uart.uart = x.uart.uart.uart.uart = x.uart.uart.st
    
    = xdc.useModule('xdc.runtime.System');
    SysStd = xdc.useModule('xdc.runtime.SysStd');
    System.SupportProxy = SysStd;
    
    /*加载并使用 CSL 软件包*/
    var CSl = xdc.useModule('ti.csl.Settings');
    Csl.deviceType = devType;
    
    //使用 ti.BIOS.HeapMem 创建默认系统堆。 */
    var heapMemParams1 =新 HeapMem.Params;
    heapMemParams1.size = 8192 * 25;
    heapMemParams1.sectionName ="systemHeap";
    Program.global.heap0 = HeapMem.create (heapMemParams1);
    
    
    //未执行运行时堆栈检查*/
    Task.checkStackFlag = false;
    
    
    //减少任务优先级的数量*/
    Task.numPriorities = 4;
    
    /*==== 任务配置=================== //
    
    
    //*这是默认的内存堆。 *
    Memory.defaultHeapInstance = Program.global.heap0;
    
    Program.sectMap["systemHeap"]= Program.platform.stackMemory;
    Program.sectMap[".fardata:benchmarking"]="DDR";
    
    /***** IPC -共享内存设置***** /*
    IPC 软件包*/
    
    var memmap = Program.cpu.memoryMap;
    
    /*启动= xdc.useModule('xdc.runtime.Startup');
    Startup.firstFxns.$add ('&myStartupFxn');*/
    
    ////*启用 BIOS 任务调度程序*/BIOS.taskEnabled
    = true;
    
    //
    *在此处启用事件组并为特定 GEM INTC 注册 ISR *
    使用 EventPlugin/ EventMap()
    
    API=xdc.useModule('ti.sysbios.family.c64p.Exception');
    exception.enablePrint = true;
    
    //
    *@(#) ti.sysbios.GenX;2、0、0、0、0、0、275; 4-29-2009 15:45:06;/db/vtree/library/trees/avala/avala-k25x/src *
    /
    
    /*定义和添加一个任务挂钩集*
    //* Task.addHookSet ({
    registerFxn:'&TaskRegisterId'、
    switchFxn:'&myswitch'、
    });*/
    

    问题已解决

    我找到了您的 UART 示例 app.cfg。