]> rtime.felk.cvut.cz Git - pes-rpp/rpp-simulink.git/commitdiff
Added stack size configuration option and download to RPP is in the works.
authorCarlos Jenkins <carlos@jenkins.co.cr>
Thu, 16 May 2013 16:57:38 +0000 (18:57 +0200)
committerCarlos Jenkins <carlos@jenkins.co.cr>
Thu, 16 May 2013 16:57:38 +0000 (18:57 +0200)
rpp/lib/TMS570LS313xFlashLnk.cmd
rpp/rpp/rpp.tlc
rpp/rpp/rpp_make_rtw_hook.m
rpp/rpp/target_tools.mk

index ff1dbb5342190ed4131594ce2309e27c5768a10e..a2ffb5cecf20b05de79b7dbb9793c61aabeaca93 100644 (file)
@@ -5,8 +5,12 @@
 /* (c) Texas Instruments 2011, All rights reserved.                           */
 /*                                                                            */
 
-/* USER CODE BEGIN (0) */
-/* USER CODE END */
+/*
+ *  Alternative memory map found in generated HalCoGen file:
+ *
+ *   STACKS  (RW) : origin=0x08000000 length=0x00001500
+ *   RAM     (RW) : origin=0x08001500 length=0x00026B00
+ */
 
 
 /*----------------------------------------------------------------------------*/
@@ -33,6 +37,6 @@ SECTIONS{
     .pinit   : {} > FLASH0 | FLASH1
     .bss     : {} > RAM
     .data    : {} > RAM
+    .stack   : {} > STACKS
 }
 /*----------------------------------------------------------------------------*/
-
index f995e689b087e21f8c0369cf2d6d4f20fc03ed69..d2ff9554a45946e054e6cec688ec4e3762899c60 100644 (file)
 
 /%
   BEGIN_RTW_OPTIONS
-  rtwoptions(1).prompt          = 'RPP Options';
-  rtwoptions(1).type            = 'Category';
-  rtwoptions(1).enable          = 'on';
-  rtwoptions(1).default         = 1;   % number of items under this category
+
+  oIdx = 1;
+
+  rtwoptions(oIdx).prompt          = 'RPP Options';
+  rtwoptions(oIdx).type            = 'Category';
+  rtwoptions(oIdx).enable          = 'on';
+  rtwoptions(oIdx).default         = 2;   % number of items under this category
                                        % excluding this one.
-  rtwoptions(1).popupstrings    = '';
-  rtwoptions(1).tlcvariable     = '';
-  rtwoptions(1).tooltip         = '';
-  rtwoptions(1).callback        = '';
-  rtwoptions(1).makevariable    = '';
-
-  rtwoptions(2).prompt          = 'Download compiled binary to RPP';
-  rtwoptions(2).type            = 'Checkbox';
-  rtwoptions(2).default         = 'off';
-  rtwoptions(2).tlcvariable     = '';
-  rtwoptions(2).makevariable    = 'RPP_DOWNLOAD';
-  rtwoptions(2).tooltip         = ['Download compiled binary to RPP'];
-  rtwoptions(2).callback        = '';
+  rtwoptions(oIdx).popupstrings    = '';
+  rtwoptions(oIdx).tlcvariable     = '';
+  rtwoptions(oIdx).tooltip         = '';
+  rtwoptions(oIdx).callback        = '';
+  rtwoptions(oIdx).makevariable    = '';
+
+  oIdx = oIdx + 1;
+
+
+  rtwoptions(oIdx).prompt          = 'Download compiled binary to RPP';
+  rtwoptions(oIdx).type            = 'Checkbox';
+  rtwoptions(oIdx).default         = 'off';
+  rtwoptions(oIdx).tlcvariable     = 'RppDownload';
+  rtwoptions(oIdx).makevariable    = 'RPP_DOWNLOAD';
+  rtwoptions(oIdx).tooltip         = ['Download code to RPP board after build.'];
+  rtwoptions(oIdx).callback        = '';
+
+  oIdx = oIdx + 1;
+
+
+  rtwoptions(oIdx).prompt         = 'Stack size';
+  rtwoptions(oIdx).type           = 'Edit';
+  rtwoptions(oIdx).default        = '800H';
+  rtwoptions(oIdx).tlcvariable    = 'RppStackSize';
+  rtwoptions(oIdx).makevariable   = 'RPP_STACK_SIZE';
+  rtwoptions(oIdx).tooltip        = ['Size of the stack (default 2K = 800H).'];
+
 
   % Configure code generation settings
   rtwgensettings.BuildDirSuffix = '_rpp';
index 7729bb771feff8e2bf78584aefd873285447eb6a..cab2af6583ff8ef0853cf92266078fb8a0a9621c 100644 (file)
@@ -73,14 +73,14 @@ function rpp_make_rtw_hook(hookMethod, modelName, rtwRoot, templateMakefile, ...
             % directory
             rpp_write_makefiles(modelName);
 
-            disp('********************');
-            disp('Debug on rpp_make_rtw_hook.m');
-            disp(buildOpts);
-            disp('---');
-            disp(buildArgs);
-            disp('---');
-            disp(rtwRoot);
-            disp('********************');
+            %disp('********************');
+            %disp('Debug on rpp_make_rtw_hook.m');
+            %disp(buildOpts);
+            %disp('---');
+            %disp(buildArgs);
+            %disp('---');
+            %disp(rtwRoot);
+            %disp('********************');
 
 
         case 'after_make'
@@ -88,7 +88,7 @@ function rpp_make_rtw_hook(hookMethod, modelName, rtwRoot, templateMakefile, ...
             % this stage.
 
             % Download generated binary to the board
-            %rpp_do_download(modelName);
+            rpp_do_download(modelName);
 
 
         case 'exit'
@@ -129,27 +129,35 @@ function rpp_write_makefiles(modelName)
 end
 
 
-%function rpp_do_download(modelName)
-%
-    %if verLessThan('matlab', '8.1')
-        %makertwObj = get_param(gcs, 'MakeRTWSettingsObject');
-    %else
-        % TODO use rtwprivate('get_makertwsettings',gcs,'BuildInfo') - see
+function rpp_do_download(modelName)
+
+    %disp('********************');
+    %disp('Debug on rpp_make_rtw_hook.m');
+
+    if verLessThan('matlab', '8.1')
+        makertwObj = get_param(gcs, 'MakeRTWSettingsObject');
+    else
+        % TODO use rtwprivate('get_makertwsettings', gcs, 'BuildInfo') - see
         % R2013a Simulink Coder release notes.
-        %makertwObj = coder.internal.ModelCodegenMgr.getInstance();
-    %end
-
-    % Check if user chose to Download to Launchpad in Settings
-    %makertwArgs = makertwObj.BuildInfo.BuildArgs;
-    %downloadToLaunchPad = 1;
-    %for i=1:length(makertwArgs)
-        %if strcmp(makertwArgs(i).DisplayLabel,'LAUNCHPAD_DOWNLOAD')
-            %downloadToLaunchPad = str2double(makertwArgs(i).Value);
-        %end
-    %end
-
-    %if false
-        %rpp_download(modelName, makertwObj.BuildDirectory);
-    %end
-
-%end
+        makertwObj = coder.internal.ModelCodegenMgr.getInstance();
+    end
+%
+    % Check if user choose to Download to RPP board in Settings
+    makertwArgs = makertwObj.BuildInfo.BuildArgs;
+    download = 0;
+    for i=1:length(makertwArgs)
+        if strcmp(makertwArgs(i).DisplayLabel, 'RPP_DOWNLOAD')
+            download = str2double(makertwArgs(i).Value);
+        end
+        %disp(makertwArgs(i).DisplayLabel);
+    end
+
+    %disp(['Download is set at: ', download]);
+%
+    if download
+        rpp_download(modelName, makertwObj.BuildDirectory);
+    end
+
+    %disp('********************');
+%
+end
index 93ed0a02c843d3cfc7bde6d185c754912bd270c0..8d8c05dc226dc2b4eee810947019e55005aaebdd 100644 (file)
@@ -53,7 +53,7 @@ CXXDEBUG         =
 LD      = $(CC)
 LDFLAGS = -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi \
           -O2 --diag_warning=225 --display_error_number --enum_type=packed \
-          --run_linker -m"$(MODEL).map" --be32 \
+          --run_linker -m"$(MODEL).map" --be32 --stack_size=$(RPP_STACK_SIZE) \
           --reread_libs --warn_sections --display_error_number --rom_model \
           -i"$(COMPILER_ROOT)/lib" -i"$(COMPILER_ROOT)/include" \
           --library=rtsv7R4_T_be_v3D16_eabi.lib \