Matlab/RTW EC面向MC9S12D64的自動(dòng)代碼生成
從項(xiàng)目開(kāi)發(fā)的角度考慮,一般的項(xiàng)目多是采用第二種方式,也就是先進(jìn)行產(chǎn)品化代碼生成然后手工進(jìn)行代碼集成,節(jié)省了“目標(biāo)板模型化”的成本和時(shí)間,有利于項(xiàng)目代碼文件的管理與維護(hù),而且問(wèn)題追溯和代碼調(diào)整也更為方便和靈活。
基于上述考慮,本文采用將自動(dòng)生成的代碼在CodeWarrior中進(jìn)行手工代碼集成,在crt_main.c中添加必要的與硬件相關(guān)的代碼,例如頭文件、中斷服務(wù)程序、硬件初始化代碼、算法與硬件接口代碼、循環(huán)語(yǔ)句等。集成后的ert_main.c源代碼如下:
將集成后的代碼通過(guò)inDART-one在我校開(kāi)發(fā)的汽車(chē)電子技術(shù)實(shí)驗(yàn)系統(tǒng)上進(jìn)行了測(cè)試,實(shí)現(xiàn)了預(yù)期LED燈順時(shí)針明燈流動(dòng),驗(yàn)證了整個(gè)開(kāi)發(fā)流程的可行性。
結(jié)語(yǔ)
本文建立了LED流水燈的Simulink控制模型,使用Matlab/RTW EC將該控制模型生成嵌入式C代碼,并將自動(dòng)生成的C代碼與Freescale MC9S12D64單片機(jī)底層代碼進(jìn)行了集成和測(cè)試,得到了預(yù)期的LED燈控制效果。這種基于模型的開(kāi)發(fā)方式以及自動(dòng)代碼生成技術(shù)使得控制算法具有更高的可移植性、更快的開(kāi)發(fā)迭代速度,從而能夠大大地提升電子控制系統(tǒng)的開(kāi)發(fā)效率,降低開(kāi)發(fā)成本。
評(píng)論