看过上一篇文章会知道,我们已经可以生成模型代码和主程序,但还没有进行编译,今天我们对Toolbox进行改造,在点击Build之后除了生成C文件,还将自动的编译生成bin文件。
在此之前,我已经为我的STM32硬件准备好一个完整的工程,把里面的主程序删除掉,剩下的是:
- Startup,STM32的启动文件
- Libraries,里面包含外设驱动头文件和STM32F10xR_V3.0.lib
- Project,这里只放了一个sct文件
首先我们修改mytarget.tlc这个系统tlc文件,增加设置代码生成路径、二进制文件输出路径和驱动代码路径的功能。
/%
BEGIN_RTW_OPTIONS
rtwoptions(1).prompt = 'MyTarget';
rtwoptions(1).type = 'Category';
rtwoptions(1).enable = 'on';
rtwoptions(1).default = 4;
rtwoptions(1).popupstrings = '';
rtwoptions(1).tlcvariable = '';
rtwoptions(1).tooltip = '';
rtwoptions(1).callback = '';
rtwoptions(1).makevariable = '';
rtwoptions(2).prompt = 'Code Generated Path:';
rtwoptions(2).type = 'Edit';
rtwoptions(2).enable = 'on';
rtwoptions(2).default = '';
rtwoptions(2).tlcvariable = 'tlc_code_output';
rtwoptions(2).makevariable = 'CODE_FILE_PATH';
rtwoptions(2).tooltip = 'The path where generated source code files will be put into';
rtwoptions(2).callback = '';
rtwoptions(3).prompt = 'Browser...';
rtwoptions(3).type = 'Pushbutton';
rtwoptions(3).enable = 'on';
rtwoptions(3).default = '';
rtwoptions(3).tooltip = 'Locate the path where the generated files will be put into';
rtwoptions(3).callback = 'pathbrowsercallback(hDlg,hSrc,''tlc_code_output'')';
rtwoptions(4).prompt = 'Binary Output Path:';
rtwoptions(4).type = 'Edit';
rtwoptions(4).enable = 'on';
rtwoptions(4).default = '';
rtwoptions(4).tlcvariable = 'tlc_bin_output';
rtwoptions(4).makevariable = 'BIN_FILE_PATH';
rtwoptions(4).tooltip =