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.
你好,
我目前有0039c的開發板,因此我想將F28069_PID例程更改為F280039C的設置
在修改後進行debug,發現uk值始終為0,似乎沒有跑PID的功能
想請問一下是甚麼問題
在修改的程式中
F28069_stdmem.cmd改為F280039_ram_lnk.cmd
我將下列四行註解掉(因為在0039c頭檔中找不到定義)
49行 InitEPwm()
53行 EPwm1Regs.TBCTL.bit.SYNCOSEL = 3;
73行 InitAdc()
121行 SetDBGIER(0x0001);
會出現(error) #10099-D</a> program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section ".stack" size 0x400 page 1. Available memory ranges:
(Warning) #10247-D creating output section "dclfuncs" without a SECTIONS specification
當我將 Set C system stack size (--stack_size,-stack) 從0x400改成0x200後error就不見了,但是Warning依然存在
想知道我以上的步驟有那裡需要修改嗎?
謝謝!!
Yale 你好,
我使用的範例在以下路徑
C:\ti\c2000\C2000Ware_4_02_00_00\libraries\control\DCL\c28\examples\F28069_PID
TMS320F280039CHi,
我想透過syscfg去設置要怎麼設定
这个例程原来不是通过sysconfig配置的,要修改成用sysconfig配置比较困难;
F28069_stdmem.cmd改為F280039_ram_lnk.cmd
F280039_ram_lnk.cmd麻烦您指一下路径;
49行 InitEPwm()
53行 EPwm1Regs.TBCTL.bit.SYNCOSEL = 3;
73行 InitAdc()
121行 SetDBGIER(0x0001);
这些配置与设备的关联性比较强,您可以参考一下F280039C用到这些模块的例程来做移植;
會出現(error) #10099-D</a> program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section ".stack" size 0x400 page 1. Available memory ranges:
.stack输出节的大小超出了可用内存的大小,放置失败,所以会有这个报错;
(Warning) #10247-D creating output section "dclfuncs" without a SECTIONS specification
没有为输出节"dclfuncs"指定具体的内存范围,所以会有这个警告。
这两个问题都与cmd文件有关。
Yale 感謝你的回覆!!
F280039_ram_lnk.cmd麻烦您指一下路径;
我是在專案的Properties中將Linker command file下拉改為 F280039_ram_lnk.cmd後 cmd文件就出現在專案中了
这个例程原来不是通过sysconfig配置的,要修改成用sysconfig配置比较困难;
我想確認一下,原本沒有使用sysconfig配置的例程都沒辦法改為sysconfig配置嗎? 那我使用例程原本的配置程式在0039c上是可以的嗎?
因為我目前將例程的配置程式改為0039c的變數名稱後,發現有些變數找不到(例如上述提到的InitEPwm(), EPwm1Regs.TBCTL.bit.SYNCOSEL = 3; InitAdc(),SetDBGIER(0x0001);),我只能先將他註解掉。
您可以参考一下F280039C用到这些模块的例程来做移植
因為在c2000ware中好少F280039c的例程,我目前只能想辦法將我想使用功能例程的MCU改為0039c的版本,像是這裡使用的PID功能。
.stack输出节的大小超出了可用内存的大小,放置失败,所以会有这个报错
我手動將.stack改小會產生甚麼問題嗎?
没有为输出节"dclfuncs"指定具体的内存范围,所以会有这个警告
我是不是不能直接使用F280039_ram_lnk.cmd這個檔案。
Hi,
这里有一个F280039C的非线性PID例程:
C:\ti\c2000\C2000Ware_4_02_00_00\libraries\control\DCL\c28\examples\NLPID\CCS
Yale 感謝你提供這個例程!!
想請問一下有這個例程的說明嗎?
在C2000 Digital Control Library的user guide中沒有介紹到這個例程
Hi,
C:\ti\c2000\C2000Ware_4_02_00_00\libraries\control\DCL\c28\docs-->DCL User's Guide.pdf
5.11 Example 11: NLPID Running on FPU32 (TMU1)
是这个例程的说明