简单建网站,视频网站做视频节目赚钱吗,网站模板上传到那个目录,电影资源分享网站怎么做的1. 从零开始#xff1a;你的CC1310 IAR开发环境“全家桶” 如果你刚拿到一块CC1310的开发板#xff0c;看着TI官网琳琅满目的SDK和工具链#xff0c;是不是有点无从下手#xff1f;别慌#xff0c;这事儿我十年前也经历过#xff0c;踩过的坑、熬过的夜#xff0c;今天都…1. 从零开始你的CC1310 IAR开发环境“全家桶”如果你刚拿到一块CC1310的开发板看着TI官网琳琅满目的SDK和工具链是不是有点无从下手别慌这事儿我十年前也经历过踩过的坑、熬过的夜今天都给你总结成最直白的操作指南。咱们的目标很简单用最短的时间最少的弯路把IAR这个开发环境给“跑”起来让你能安心写代码、调程序。首先你得搞清楚你需要准备哪些“食材”。核心就三样合适的SDK、匹配的IAR版本、还有一块能用的开发板。听起来简单但版本对不上后面全是坑。我强烈建议你在开始之前先花5分钟去TI官网的CC1310产品页面找到“软件与开发工具”部分。别用太老的SDK比如几年前1.x版本的里面很多驱动和例程可能已经和新的IAR不兼容了。我目前手头稳定用的是SimpleLink CC13x0 SDK 4.20.02.07这个版本它相对成熟社区资料也多。下载下来默认安装到C:\ti目录下这是TI很多工具链的默认路径能避免一些不必要的路径问题。开发工具方面IAR Embedded Workbench for ARM是官方推荐之一。这里有个关键点SDK和IAR版本存在兼容性矩阵。比如SDK 4.20.x通常搭配IAR 8.50.x版本是比较稳妥的。我实测过8.50.6工作得很稳定。如果你用的是更高版本的IAR比如9.x而SDK比较老就很可能遇到工程文件打不开、预定义宏错误等问题。网上很多朋友报错“安装IAR打开SDK里的工程报错”十有八九就是版本没对上。所以别追求最新追求最稳。开发板的话CC1310 LaunchPadREV B 2.1版或者CC1310F128核心板都行它们是最常见的评估平台。注意安装路径尽量用英文不要有空格和特殊字符。像“C:\Program Files (x86)\IAR Systems”这种默认路径有时候会引起一些编译脚本的解析问题虽然不绝对但为了省心你可以装到“C:\IAR_ARM”这样的目录。准备工作做完你的电脑上应该至少有这两个东西一个SDK安装后的文件夹比如C:\ti\simplelink_cc13x0_sdk_4_20_02_07以及一个已经安装好的IAR开发环境。接下来我们就要让它们俩“认识”一下这是搭建环境最关键的一步。2. 核心步骤将TI SDK“注入”你的IAR环境很多新手会直接打开SDK里的示例工程但一编译就满屏红色错误根本原因就是IAR还不知道TI的SDK在哪里那些芯片头文件、驱动库文件它都找不到。所以我们需要进行一个“导入”操作把SDK的路径和预定义配置告诉IAR。这个操作相当于给IAR装上一个“CC1310专用插件”。具体怎么做呢打开你的IAR Embedded Workbench别急着新建工程。找到顶部菜单栏的Tools点击下拉菜单中的Configure Custom Argument Variables...。这时会弹出一个配置窗口。在这个窗口里选择Global这个选项卡因为我们要配置的是全局变量对所有工程生效。然后你会看到一个Import...按钮点击它。关键来了你需要导航到你的SDK安装目录下的一个特定文件。路径通常是C:\ti\simplelink_cc13x0_sdk_4_20_02_07\tools\iar\SIMPLELINK_CC13X0_SDK.custom_argvars。选中这个文件点击打开。导入成功后你应该能在变量列表里看到一系列像CC13X0_SDK、TI_ARM_COMPILER_DIR这样的变量名和它们对应的路径值。这个.custom_argvars文件是TI官方提供的它里面定义了一堆IAR工程需要用到的环境变量。导入它之后IAR就知道了SDK根目录在哪、编译器工具链在哪、芯片支持文件在哪。之后无论你是打开TI的示例工程还是自己新建工程IAR都能正确地找到所有依赖的文件。这一步如果漏了后续所有操作都寸步难行。我见过不少朋友卡在这里编译时提示找不到ti_drivers_config.h之类的文件回头检查八成是这一步没做或者路径不对。导入成功后建议你关闭IAR再重新打开以确保全局变量生效。我们可以验证一下随便新建一个空工程右键工程名选择“Options”在“General Options”-“Target”里如果你能看到“Texas Instruments”的子目录并且能找到CC13xx/CC26xx系列芯片就说明SDK的基础支持已经装好了。当然更直接的验证方式是直接打开一个示例工程我们接下来就做这件事。3. 手把手创建你的第一个IAR工程有了前面的基础现在我们来真正创建一个可以编译、下载、运行的工程。最稳妥、最快捷的方式不是从零开始写代码而是基于TI官方提供的示例工程进行修改。TI的SDK里包含了大量高质量的示例从简单的GPIO控制到复杂的无线通信协议都有这是我们学习的宝藏。首先找到SDK中的示例导航文件。进入C:\ti\simplelink_cc13x0_sdk_4_20_02_07\tools\iar目录你会发现一个Examples.html文件。别小看这个HTML文件用浏览器打开它它是一个图形化的示例工程导航页清晰地列出了所有可用的示例并按照开发板类型如CC1310 LaunchPad和功能模块如Driver, RTOS等分类。你可以直接把这个HTML文件拖拽到IAR的工作区IAR会自动识别并准备加载示例。不过我更推荐另一种“复制-粘贴”式的做法这样更清晰工程目录完全由你自己掌控。比如我想创建一个串口回显UART Echo的测试工程。我会这样做在文件管理器中找到SDK示例的物理路径通常是C:\ti\simplelink_cc13x0_sdk_4_20_02_07\examples\rtos\CC1310_LAUNCHXL\drivers。在这里你能看到uartecho这个文件夹。我的做法是在D盘或E盘专门建立一个工作区文件夹例如D:\MyCC1310_Projects。然后把整个uartecho文件夹复制到我的工作区里。接下来用IAR打开工作区里这个uartecho项目文件夹下的.eww工作区文件或.ewp工程文件。打开后工程树应该能正常加载没有红色叉号。这时我强烈建议你立即为这个工程做一个“重命名”和“路径重置”。在IAR的Workspace窗口右键工程名选择“Options”。在“General Options”-“Output Converter”页面你可以修改输出文件的名称。更重要的是在“Project”菜单下选择“Edit Configurations…”可以复制一份当前的配置并命名为你自己的工程名比如My_UART_Echo。这样做的好处是你保留了原始示例的纯净性任何修改都在你自己的工程副本上进行出了问题随时可以回滚。提示对于阅读TI这种层级较深的SDK代码一个好用的代码阅读工具能极大提升效率。比如Source Insight或VS Code。你需要将SDK的核心源码路径如C:\ti\simplelink_cc13x0_sdk_4_20_02_07\source\ti添加到工程的“符号索引”或“包含路径”中这样就能实现函数、变量的跳转和查找理解代码流程会轻松很多。工程打开并配置好后先别急着编译。我们还需要确保调试器配置正确否则代码下载不进去。这是下一步要解决的核心问题。4. 调试器配置与驱动安装连通电脑和芯片的桥梁代码写好了怎么放到板子上去运行这就需要调试器。CC1310 LaunchPad板载了一个XDS110调试器它同时也是一个USB转串口工具非常方便。但要让电脑识别它需要正确的驱动。首先用USB线连接开发板到电脑。打开Windows的设备管理器。如果驱动安装成功你应该能在“端口COM和LPT”下面看到两个设备名字类似于“XDS110 Class Application/User UART (COMx)”和“XDS110 Class Auxiliary Data Port”。前者用于程序调试和下载后者通常用于数据通信。如果看不到或者有黄色感叹号说明驱动没装好。TI的XDS110驱动通常包含在CCSCode Composer Studio的安装包里但如果你只装了IAR可能需要单独安装。你可以去TI官网搜索“XDS110 Emulation Software Package”进行下载安装。安装时记得右键安装程序选择“以管理员身份运行”特别是在Windows 7/10系统上这能避免很多权限问题。安装完成后重新插拔开发板再检查设备管理器。驱动搞定后回到IAR工程进行配置。右键工程选择“Options”进入“Debugger”设置页。在“Driver”下拉菜单中选择“TI XDS”。然后切换到右边的“TI XDS”标签页。这里有几个关键配置Emulator: 在下拉框中选择“TI XDS110 Emulator”。Board File: 点击“Specify custom board file”然后浏览到SDK目录下的板级支持文件。路径通常类似于C:\ti\simplelink_cc13x0_sdk_4_20_02_07\tools\iar\target\dbg\CC13xx_XDS110_CJTAG.dat。选择这个文件。Flash Loader: 确保“Use flash loader(s)”被勾选这样程序才能烧录到Flash中运行。配置完成后点击“OK”保存。现在理论上你已经可以点击IAR的“Download and Debug”那个带虫子的箭头按钮了。但这里我强烈建议你先做一步配置输出文件格式。在“Options”-“Output Converter”中勾选“Generate additional output”并在“Output format”中选择“Intel extended”格式。这样IAR在编译后会额外生成一个.hex文件。这个文件可以用TI的独立烧录工具“SmartRF Flash Programmer 2”进行烧写作为调试失败时的一个备用手段非常有用。5. 编译、下载与调试实战让灯先亮起来一切配置就绪让我们点下那个激动人心的编译按钮通常是“Make”或“Compile”。如果之前步骤都正确编译应该能顺利通过在底部的“Build”窗口看到“Total number of errors: 0”。如果有错误最常见的是找不到头文件请返回检查第二步的“Custom Argument Variables”导入是否正确以及工程选项“C/C Compiler”-“Preprocessor”中的额外包含路径$PROJ_DIR$\..\..\config等是否完整。编译通过后给开发板上电点击“Download and Debug”。IAR会将程序下载到CC1310的Flash中然后自动跳转到调试界面。如果一切正常你会看到程序暂停在main()函数的入口。这时你可以尝试点击“Go”全速运行按钮。对于UART Echo例程它应该已经在运行了。你可以打开一个串口助手软件如Putty、SecureCRT选择对应的XDS110 User UART的COM口波特率设置为115200然后发送字符看看是否能收到回显。但事情往往没那么顺利。一个非常常见的问题是点击下载调试后IAR卡住或者开发板上的红色LED不停闪烁程序无法正常运行。我踩过这个坑。这通常意味着调试器连接不稳定或者Flash编程算法有问题。首先检查USB线是否接触良好尝试换一个USB端口。其次确认在“Debugger”-“TI XDS”设置里选择的确实是XDS110而不是别的仿真器。如果连接正常但程序运行不对比如例程里的GPIO_write(Board_LED1, Board_LED_ON)函数无法点亮LED这可能是因为SDK版本和驱动函数有变化。你需要去检查Board.h文件中关于LED引脚的定义是否正确映射到了实际的硬件引脚。有时候需要查看开发板的原理图确认LED连接在哪个GPIO上然后在工程预编译符号或Board.c文件中进行修改。更稳妥的方法是直接使用PIN驱动层的API来控制GPIO这种方式更底层也更可靠。另一个致命问题是调试时运行正常但断电重启后程序没了。这说明程序只是被下载到了RAM中运行并没有固化到Flash。你需要检查“Debugger”-“TI XDS”-“Flash Loader”配置是否正确加载了CC1310的Flash算法文件.board文件指定了。同时确保在“Linker”-“Config”中链接器配置文件.icf文件指向的是Flash存储的配置而不是RAM配置。6. 避坑指南那些年我遇到的典型问题与解决之道搞嵌入式开发解决问题的时间往往比写代码还多。下面我罗列几个在CC1310 IAR开发环境中高频出现的问题和我的解决经验希望能帮你节省大量搜索时间。问题一IAR工程打开报错提示“The project ‘xxx’ was created by a newer version of the product…”这明确是IAR版本不兼容。TI SDK里的示例工程是用特定版本的IAR创建的。用更高版本的IAR打开低版本工程通常没问题可能会自动转换但用低版本IAR打开高版本工程就一定不行。解决方案要么安装SDK推荐或更高版本的IAR如8.50.x要么在SDK的tools\iar目录下寻找是否有为不同IAR版本准备的工程文件。最根本的办法是去TI官网查看该SDK的发布说明里面会写明测试通过的IAR版本号。问题二编译时报错 “Fatal Error[Pe035]: #error directive: “NOT A VALID SDK PRODUCT!”或者提示找不到DeviceFamily_CC13X0之类的定义。这几乎可以肯定是环境变量没导入成功。请严格检查第二步。另外检查工程选项“C/C Compiler”-“Preprocessor”的“Defined symbols”里是否包含了类似DeviceFamily_CC13X0这样的关键宏定义。这些宏通常是通过.custom_argvars文件导入的变量在链接脚本中传递的。如果缺失手动添加进去但最好还是修复环境变量导入。问题三程序可以下载但运行行为异常比如定时器不准、外设不工作首先怀疑是系统时钟配置不对。CC1310有多个时钟源高频RC、高频晶体、低频RC、低频晶体。TI-RTOS和驱动库默认会使用开发板上的外部晶体。请确认你的开发板上是否焊接了对应的晶体通常是24MHz和32.768kHz。如果没有需要在工程配置中修改为使用内部RC振荡器。具体位置在Board.h或工程的预编译宏中例如定义CC1310_LAUNCHXL宏就会启用板载的晶体配置。问题四无线通信例程无法正常工作收不到数据无线调试更复杂。首先确保你使用了正确的天线并且天线连接牢固。其次检查RF核心的配置参数特别是频率、速率、调制方式是否和发送端匹配。使用TI的SmartRF Studio软件可以帮助你生成正确的射频参数。另外一个非常隐蔽的坑是电源配置。CC1310在发射时峰值电流较大如果电源不稳或供电不足会导致射频性能急剧下降甚至失败。确保你的开发板供电充足或者检查代码中是否将CONFIG_IO设置为-1以禁用外部PA如果你只使用了板载天线。问题五代码空间Flash或内存空间RAM不足CC1310F128有128KB Flash和20KB SRAM。如果工程添加了过多的库或功能可能会遇到Linker报错提示空间不足。这时你需要优化代码1. 在IAR的Linker配置中选择“Optimize for size”。2. 检查是否链接了不必要的库文件。3. 对于TI-RTOS可以考虑使用其ROM版本将部分常用函数放在芯片ROM中执行节省Flash空间。具体方法是在工程宏定义中添加TIRTOS_ROM。调试本身也是一门学问。善用IAR的调试功能设置断点、观察变量、查看内存、实时表达式Live Watch以及调用栈Call Stack。当程序跑飞时查看调用栈能帮你快速定位崩溃前执行到了哪个函数。另外CC1310的Sensor Controller EngineSCE是一个独立的超低功耗协处理器如果你用到了它记得它的代码是需要通过Sensor Controller Studio生成和加载的不要和主M3核的代码搞混了。环境搭建和问题排查是嵌入式开发的基石虽然繁琐但每一步都踏实走通了后面写应用代码就会顺畅无比。当你第一次看到自己修改的代码成功点亮LED或者通过无线收到数据时那种成就感就是驱动我们不断探索的动力。记住遇到问题多查TI的官方Wiki、E2E支持论坛和SDK自带的文档大部分坑前人都已经踩过并留下了解决方案。