ceedling 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (626) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +17 -13
  3. data/ceedling-0.18.0.gem +0 -0
  4. data/docs/CeedlingPacket.md +7 -5
  5. data/lib/ceedling/configurator_builder.rb +10 -21
  6. data/lib/ceedling/configurator_setup.rb +16 -17
  7. data/lib/ceedling/constants.rb +4 -3
  8. data/lib/ceedling/defaults.rb +9 -4
  9. data/lib/ceedling/dependinator.rb +0 -1
  10. data/lib/ceedling/file_path_utils.rb +22 -26
  11. data/lib/ceedling/flaginator.rb +5 -5
  12. data/lib/ceedling/generator.rb +8 -7
  13. data/lib/ceedling/preprocessinator_file_handler.rb +6 -6
  14. data/lib/ceedling/preprocessinator_includes_handler.rb +1 -1
  15. data/lib/ceedling/rules_release.rake +5 -3
  16. data/lib/ceedling/rules_tests.rake +2 -1
  17. data/lib/ceedling/tasks_base.rake +1 -1
  18. data/lib/ceedling/tasks_vendor.rake +9 -10
  19. data/lib/ceedling/tool_executor.rb +23 -22
  20. data/lib/ceedling/version.rb +3 -3
  21. data/plugins/module_generator/lib/module_generator.rb +3 -3
  22. data/plugins/xml_tests_report/xml_tests_report.rb +1 -1
  23. data/spec/preprocessinator_includes_handler_spec.rb +1 -1
  24. data/spec/spec_system_helper.rb +192 -192
  25. data/vendor/c_exception/vendor/unity/Gemfile +4 -0
  26. data/vendor/c_exception/vendor/unity/Gemfile.lock +12 -0
  27. data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +115 -0
  28. data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +39 -0
  29. data/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -0
  30. data/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -0
  31. data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +320 -0
  32. data/vendor/c_exception/vendor/unity/auto/parseOutput.rb +189 -0
  33. data/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +23 -0
  34. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +139 -0
  35. data/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
  36. data/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
  37. data/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +216 -0
  38. data/vendor/c_exception/vendor/unity/docs/license.txt +31 -0
  39. data/vendor/c_exception/vendor/unity/examples/example_1/makefile +41 -0
  40. data/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +5 -0
  41. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +24 -0
  42. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +3 -0
  43. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +9 -0
  44. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +2 -0
  45. data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +62 -0
  46. data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +31 -0
  47. data/vendor/{unity/examples/example_3/test/no_ruby → c_exception/vendor/unity/examples/example_1/test/test_runners}/TestProductionCode2_Runner.c +16 -3
  48. data/vendor/{unity/examples/example_3/test/no_ruby → c_exception/vendor/unity/examples/example_1/test/test_runners}/TestProductionCode_Runner.c +16 -3
  49. data/vendor/c_exception/vendor/unity/examples/example_2/makefile +45 -0
  50. data/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +5 -0
  51. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +24 -0
  52. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +3 -0
  53. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +9 -0
  54. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +2 -0
  55. data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +64 -0
  56. data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +33 -0
  57. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
  58. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
  59. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
  60. data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +10 -0
  61. data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +12 -0
  62. data/vendor/c_exception/vendor/unity/examples/example_3/makefile +41 -0
  63. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +44 -0
  64. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +256 -0
  65. data/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +19 -0
  66. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +24 -0
  67. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +3 -0
  68. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +9 -0
  69. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +2 -0
  70. data/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +46 -0
  71. data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +62 -0
  72. data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +31 -0
  73. data/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +46 -0
  74. data/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +50 -0
  75. data/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
  76. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +37 -0
  77. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +179 -0
  78. data/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +9 -0
  79. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +387 -0
  80. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +82 -0
  81. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
  82. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
  83. data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  84. data/vendor/c_exception/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  85. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +341 -0
  86. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +41 -0
  87. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
  88. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  89. data/vendor/c_exception/vendor/unity/makefile +37 -0
  90. data/vendor/c_exception/vendor/unity/rakefile.rb +61 -0
  91. data/vendor/c_exception/vendor/unity/rakefile_helper.rb +249 -0
  92. data/vendor/c_exception/vendor/unity/release/build.info +2 -0
  93. data/vendor/c_exception/vendor/unity/release/version.info +2 -0
  94. data/vendor/c_exception/vendor/unity/src/unity.c +1145 -0
  95. data/vendor/c_exception/vendor/unity/src/unity.h +307 -0
  96. data/vendor/c_exception/vendor/unity/src/unity_internals.h +620 -0
  97. data/vendor/c_exception/vendor/unity/targets/clang_strict.yml +83 -0
  98. data/vendor/c_exception/vendor/unity/targets/gcc_32.yml +44 -0
  99. data/vendor/c_exception/vendor/unity/targets/gcc_64.yml +45 -0
  100. data/vendor/c_exception/vendor/unity/targets/hitech_picc18.yml +101 -0
  101. data/vendor/c_exception/vendor/unity/targets/iar_arm_v4.yml +89 -0
  102. data/vendor/c_exception/vendor/unity/targets/iar_arm_v5.yml +79 -0
  103. data/vendor/c_exception/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
  104. data/vendor/c_exception/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  105. data/vendor/c_exception/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
  106. data/vendor/c_exception/vendor/unity/targets/iar_msp430.yml +94 -0
  107. data/vendor/c_exception/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
  108. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +57 -0
  109. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +53 -0
  110. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +79 -0
  111. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +75 -0
  112. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +88 -0
  113. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +88 -0
  114. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +76 -0
  115. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +88 -0
  116. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +88 -0
  117. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +89 -0
  118. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +63 -0
  119. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +66 -0
  120. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +54 -0
  121. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +63 -0
  122. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +66 -0
  123. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +67 -0
  124. data/vendor/c_exception/vendor/unity/test/test_generate_test_runner.rb +88 -0
  125. data/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -0
  126. data/vendor/c_exception/vendor/unity/test/testdata/sample.yml +9 -0
  127. data/vendor/c_exception/vendor/unity/test/testdata/testsample.c +51 -0
  128. data/vendor/c_exception/vendor/unity/test/testparameterized.c +101 -0
  129. data/vendor/c_exception/vendor/unity/test/testunity.c +3447 -0
  130. data/vendor/cmock/README.md +1 -1
  131. data/vendor/cmock/Rakefile +106 -104
  132. data/vendor/cmock/config/production_environment.rb +14 -14
  133. data/vendor/cmock/config/test_environment.rb +16 -16
  134. data/vendor/cmock/docs/CMock_Summary.md +9 -0
  135. data/vendor/cmock/docs/license.txt +2 -2
  136. data/vendor/cmock/examples/make_example/Makefile +30 -0
  137. data/vendor/cmock/examples/make_example/src/foo.c +5 -0
  138. data/vendor/cmock/examples/make_example/src/foo.h +5 -0
  139. data/vendor/cmock/examples/make_example/src/main.c +15 -0
  140. data/vendor/cmock/examples/make_example/test/test_foo.c +17 -0
  141. data/vendor/cmock/examples/make_example/test/test_main.c +15 -0
  142. data/vendor/cmock/examples/{gcc.yml → temp_sensor/gcc.yml} +43 -43
  143. data/vendor/cmock/examples/{iar_v4.yml → temp_sensor/iar_v4.yml} +91 -91
  144. data/vendor/cmock/examples/{iar_v5.yml → temp_sensor/iar_v5.yml} +80 -80
  145. data/vendor/cmock/examples/{rakefile.rb → temp_sensor/rakefile.rb} +32 -32
  146. data/vendor/cmock/examples/{rakefile_helper.rb → temp_sensor/rakefile_helper.rb} +270 -270
  147. data/vendor/cmock/examples/{src → temp_sensor/src}/AT91SAM7X256.h +2556 -2556
  148. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcConductor.c +42 -42
  149. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcConductor.h +11 -11
  150. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardware.c +27 -27
  151. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardware.h +9 -9
  152. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardwareConfigurator.c +18 -18
  153. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardwareConfigurator.h +10 -10
  154. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcModel.c +33 -33
  155. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcModel.h +13 -13
  156. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcTemperatureSensor.c +51 -51
  157. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcTemperatureSensor.h +10 -10
  158. data/vendor/cmock/examples/{src → temp_sensor/src}/Executor.c +25 -25
  159. data/vendor/cmock/examples/{src → temp_sensor/src}/Executor.h +9 -9
  160. data/vendor/cmock/examples/{src → temp_sensor/src}/IntrinsicsWrapper.c +18 -18
  161. data/vendor/cmock/examples/{src → temp_sensor/src}/IntrinsicsWrapper.h +7 -7
  162. data/vendor/cmock/examples/{src → temp_sensor/src}/Main.c +46 -46
  163. data/vendor/cmock/examples/{src → temp_sensor/src}/Main.h +7 -7
  164. data/vendor/cmock/examples/{src → temp_sensor/src}/Model.c +10 -10
  165. data/vendor/cmock/examples/{src → temp_sensor/src}/Model.h +8 -8
  166. data/vendor/cmock/examples/{src → temp_sensor/src}/ModelConfig.h +7 -7
  167. data/vendor/cmock/examples/{src → temp_sensor/src}/TaskScheduler.c +72 -72
  168. data/vendor/cmock/examples/{src → temp_sensor/src}/TaskScheduler.h +11 -11
  169. data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureCalculator.c +27 -27
  170. data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureCalculator.h +6 -6
  171. data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureFilter.c +39 -39
  172. data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureFilter.h +10 -10
  173. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConductor.c +15 -15
  174. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConductor.h +9 -9
  175. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConfigurator.c +51 -51
  176. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConfigurator.h +15 -15
  177. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerHardware.c +15 -15
  178. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerHardware.h +8 -8
  179. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptConfigurator.c +55 -55
  180. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptConfigurator.h +13 -13
  181. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptHandler.c +25 -25
  182. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptHandler.h +10 -10
  183. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerModel.c +9 -9
  184. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerModel.h +8 -8
  185. data/vendor/cmock/examples/{src → temp_sensor/src}/Types.h +103 -103
  186. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartBaudRateRegisterCalculator.c +18 -18
  187. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartBaudRateRegisterCalculator.h +6 -6
  188. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConductor.c +21 -21
  189. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConductor.h +7 -7
  190. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConfigurator.c +39 -39
  191. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConfigurator.h +13 -13
  192. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartHardware.c +22 -22
  193. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartHardware.h +9 -9
  194. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartModel.c +34 -34
  195. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartModel.h +10 -10
  196. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartPutChar.c +16 -16
  197. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartPutChar.h +8 -8
  198. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartTransmitBufferStatus.c +7 -7
  199. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartTransmitBufferStatus.h +8 -8
  200. data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcConductor.c +121 -121
  201. data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcHardware.c +44 -44
  202. data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcHardwareConfigurator.c +43 -43
  203. data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcModel.c +33 -33
  204. data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcTemperatureSensor.c +47 -47
  205. data/vendor/cmock/examples/{test → temp_sensor/test}/TestExecutor.c +36 -36
  206. data/vendor/cmock/examples/{test → temp_sensor/test}/TestMain.c +24 -24
  207. data/vendor/cmock/examples/{test → temp_sensor/test}/TestModel.c +20 -20
  208. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTaskScheduler.c +104 -104
  209. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTemperatureCalculator.c +33 -33
  210. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTemperatureFilter.c +69 -69
  211. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerConductor.c +32 -32
  212. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerConfigurator.c +112 -112
  213. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerHardware.c +26 -26
  214. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerInterruptConfigurator.c +78 -78
  215. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerInterruptHandler.c +66 -66
  216. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerModel.c +18 -18
  217. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartBaudRateRegisterCalculator.c +21 -21
  218. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartConductor.c +40 -40
  219. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartConfigurator.c +77 -77
  220. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartHardware.c +37 -37
  221. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartModel.c +36 -36
  222. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartPutChar.c +43 -43
  223. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartTransmitBufferStatus.c +22 -22
  224. data/vendor/cmock/iar/iar_v4/Resource/at91SAM7X256_FLASH.xcl +185 -185
  225. data/vendor/cmock/iar/iar_v4/Resource/at91SAM7X256_RAM.xcl +185 -185
  226. data/vendor/cmock/iar/iar_v4/Resource/ioat91sam7x256.ddf +2259 -2259
  227. data/vendor/cmock/iar/iar_v4/cmock_demo.dep +3691 -3691
  228. data/vendor/cmock/iar/iar_v4/cmock_demo.ewp +2581 -2581
  229. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X-EK.h +61 -61
  230. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.inc +2314 -2314
  231. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.rdf +4704 -4704
  232. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.tcl +3407 -3407
  233. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +2268 -2268
  234. data/vendor/cmock/iar/iar_v4/incIAR/ioat91sam7x256.h +4380 -4380
  235. data/vendor/cmock/iar/iar_v4/incIAR/lib_AT91SAM7X256.h +4211 -4211
  236. data/vendor/cmock/iar/iar_v4/settings/cmock_demo.cspy.bat +32 -32
  237. data/vendor/cmock/iar/iar_v4/srcIAR/Cstartup.s79 +265 -265
  238. data/vendor/cmock/iar/iar_v4/srcIAR/Cstartup_SAM7.c +98 -98
  239. data/vendor/cmock/iar/iar_v5/Resource/at91SAM7X256_FLASH.icf +43 -43
  240. data/vendor/cmock/iar/iar_v5/Resource/at91SAM7X256_RAM.icf +42 -42
  241. data/vendor/cmock/iar/iar_v5/cmock_demo.dep +4204 -4204
  242. data/vendor/cmock/iar/iar_v5/cmock_demo.ewp +2426 -2426
  243. data/vendor/cmock/iar/iar_v5/incIAR/AT91SAM7X-EK.h +61 -61
  244. data/vendor/cmock/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +2268 -2268
  245. data/vendor/cmock/iar/iar_v5/incIAR/lib_AT91SAM7X256.h +4211 -4211
  246. data/vendor/cmock/iar/iar_v5/incIAR/project.h +30 -30
  247. data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.cspy.bat +33 -33
  248. data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X_FLASH_Debug.jlink +12 -12
  249. data/vendor/cmock/iar/iar_v5/settings/cmock_demo.cspy.bat +33 -33
  250. data/vendor/cmock/iar/iar_v5/settings/cmock_demo_Binary.jlink +12 -12
  251. data/vendor/cmock/iar/iar_v5/settings/cmock_demo_FLASH_Debug.jlink +12 -12
  252. data/vendor/cmock/iar/iar_v5/settings/cmock_demo_RAM_Debug.jlink +12 -12
  253. data/vendor/cmock/iar/iar_v5/srcIAR/Cstartup.s +299 -299
  254. data/vendor/cmock/iar/iar_v5/srcIAR/Cstartup_SAM7.c +98 -98
  255. data/vendor/cmock/lib/cmock.rb +89 -89
  256. data/vendor/cmock/lib/cmock_config.rb +134 -133
  257. data/vendor/cmock/lib/cmock_file_writer.rb +40 -33
  258. data/vendor/cmock/lib/cmock_generator.rb +234 -215
  259. data/vendor/cmock/lib/cmock_generator_plugin_array.rb +63 -63
  260. data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +96 -78
  261. data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +52 -51
  262. data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +104 -86
  263. data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +68 -68
  264. data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +72 -71
  265. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +1 -1
  266. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +2 -2
  267. data/vendor/cmock/lib/cmock_generator_utils.rb +228 -213
  268. data/vendor/cmock/lib/cmock_header_parser.rb +1 -1
  269. data/vendor/cmock/lib/cmock_plugin_manager.rb +40 -40
  270. data/vendor/cmock/lib/cmock_unityhelper_parser.rb +75 -75
  271. data/vendor/cmock/rakefile_helper.rb +381 -381
  272. data/vendor/cmock/release/build.info +1 -1
  273. data/vendor/cmock/release/version.info +1 -1
  274. data/vendor/cmock/scripts/create_makefile.rb +161 -0
  275. data/vendor/cmock/scripts/create_mock.rb +8 -0
  276. data/vendor/cmock/scripts/create_runner.rb +20 -0
  277. data/vendor/cmock/scripts/test_summary.rb +11 -0
  278. data/vendor/cmock/src/cmock.c +203 -192
  279. data/vendor/cmock/src/cmock.h +38 -36
  280. data/vendor/cmock/src/cmock_internals.h +11 -1
  281. data/vendor/cmock/targets/clang_strict.yml +90 -85
  282. data/vendor/cmock/targets/gcc.yml +58 -55
  283. data/vendor/cmock/targets/gcc_64.yml +58 -55
  284. data/vendor/cmock/targets/gcc_tiny.yml +80 -0
  285. data/vendor/cmock/targets/iar_arm_v4.yml +110 -108
  286. data/vendor/cmock/targets/iar_arm_v5.yml +95 -93
  287. data/vendor/cmock/test/c/TestCMockC.c +323 -323
  288. data/vendor/cmock/test/c/TestCMockC.yml +1 -0
  289. data/vendor/cmock/test/c/TestCMockCDynamic.c +186 -186
  290. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +36 -36
  291. data/vendor/cmock/test/c/TestCMockC_Runner.c +39 -39
  292. data/vendor/cmock/test/system/systest_generator.rb +194 -194
  293. data/vendor/cmock/test/system/test_compilation/callingconv.h +11 -11
  294. data/vendor/cmock/test/system/test_compilation/osek.h +275 -275
  295. data/vendor/cmock/test/system/test_compilation/parsing.h +2 -0
  296. data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +375 -375
  297. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +459 -389
  298. data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +62 -0
  299. data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +308 -0
  300. data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +23 -23
  301. data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +65 -0
  302. data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +38 -20
  303. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +280 -0
  304. data/vendor/cmock/test/test_helper.rb +47 -47
  305. data/vendor/cmock/test/unit/cmock_config_test.rb +118 -118
  306. data/vendor/cmock/test/unit/cmock_config_test.yml +5 -5
  307. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +27 -27
  308. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +507 -489
  309. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +133 -133
  310. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +257 -189
  311. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +96 -93
  312. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +186 -0
  313. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +60 -81
  314. data/vendor/cmock/test/unit/{cmock_generator_plugin_expect_test.rb → cmock_generator_plugin_expect_b_test.rb} +202 -205
  315. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +116 -116
  316. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +105 -103
  317. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +134 -134
  318. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +377 -334
  319. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +1381 -1337
  320. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +95 -95
  321. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +223 -223
  322. data/vendor/cmock/vendor/c_exception/Gemfile +4 -0
  323. data/vendor/cmock/vendor/c_exception/Gemfile.lock +12 -0
  324. data/vendor/cmock/vendor/c_exception/LICENSE.txt +30 -0
  325. data/vendor/cmock/vendor/c_exception/README.md +146 -0
  326. data/vendor/cmock/vendor/c_exception/Rakefile +42 -0
  327. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  328. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  329. data/vendor/cmock/vendor/c_exception/docs/readme.txt +242 -0
  330. data/vendor/cmock/vendor/c_exception/lib/CException.c +46 -0
  331. data/vendor/cmock/vendor/c_exception/lib/CException.h +86 -0
  332. data/vendor/cmock/vendor/c_exception/makefile +24 -0
  333. data/vendor/cmock/vendor/c_exception/release/build.info +2 -0
  334. data/vendor/cmock/vendor/c_exception/release/version.info +2 -0
  335. data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +46 -0
  336. data/vendor/cmock/vendor/c_exception/test/TestException.c +342 -0
  337. data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +74 -0
  338. data/vendor/cmock/vendor/c_exception/vendor/unity/Gemfile +4 -0
  339. data/vendor/cmock/vendor/c_exception/vendor/unity/Gemfile.lock +12 -0
  340. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +115 -0
  341. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +39 -0
  342. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -0
  343. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -0
  344. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +320 -0
  345. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parseOutput.rb +189 -0
  346. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +23 -0
  347. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +139 -0
  348. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
  349. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
  350. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +216 -0
  351. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/license.txt +31 -0
  352. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +41 -0
  353. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +5 -0
  354. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +24 -0
  355. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +3 -0
  356. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +9 -0
  357. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +2 -0
  358. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +62 -0
  359. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +31 -0
  360. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +46 -0
  361. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +50 -0
  362. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +45 -0
  363. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +5 -0
  364. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +24 -0
  365. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +3 -0
  366. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +9 -0
  367. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +2 -0
  368. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +64 -0
  369. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +33 -0
  370. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
  371. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
  372. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
  373. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +10 -0
  374. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +12 -0
  375. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/makefile +41 -0
  376. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +44 -0
  377. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +256 -0
  378. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +19 -0
  379. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +24 -0
  380. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +3 -0
  381. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +9 -0
  382. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +2 -0
  383. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +46 -0
  384. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +62 -0
  385. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +31 -0
  386. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +46 -0
  387. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +50 -0
  388. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
  389. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +37 -0
  390. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +179 -0
  391. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +9 -0
  392. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +387 -0
  393. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +82 -0
  394. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
  395. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
  396. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  397. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  398. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +341 -0
  399. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +41 -0
  400. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
  401. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  402. data/vendor/cmock/vendor/c_exception/vendor/unity/makefile +37 -0
  403. data/vendor/cmock/vendor/c_exception/vendor/unity/rakefile.rb +61 -0
  404. data/vendor/cmock/vendor/c_exception/vendor/unity/rakefile_helper.rb +249 -0
  405. data/vendor/cmock/vendor/c_exception/vendor/unity/release/build.info +2 -0
  406. data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +2 -0
  407. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +1145 -0
  408. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +307 -0
  409. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +620 -0
  410. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/clang_strict.yml +83 -0
  411. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/gcc_32.yml +44 -0
  412. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/gcc_64.yml +45 -0
  413. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/hitech_picc18.yml +101 -0
  414. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_arm_v4.yml +89 -0
  415. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_arm_v5.yml +79 -0
  416. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
  417. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  418. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
  419. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_msp430.yml +94 -0
  420. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
  421. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +57 -0
  422. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +53 -0
  423. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +79 -0
  424. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +75 -0
  425. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +88 -0
  426. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +88 -0
  427. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +76 -0
  428. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +88 -0
  429. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +88 -0
  430. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +89 -0
  431. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +63 -0
  432. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +66 -0
  433. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +54 -0
  434. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +63 -0
  435. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +66 -0
  436. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +67 -0
  437. data/vendor/cmock/vendor/c_exception/vendor/unity/test/test_generate_test_runner.rb +88 -0
  438. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -0
  439. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/sample.yml +9 -0
  440. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testsample.c +51 -0
  441. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testparameterized.c +101 -0
  442. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testunity.c +3447 -0
  443. data/vendor/cmock/vendor/unity/README.md +211 -0
  444. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +115 -0
  445. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +39 -0
  446. data/vendor/cmock/vendor/unity/auto/generate_config.yml +36 -0
  447. data/vendor/cmock/vendor/unity/auto/generate_module.rb +202 -0
  448. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +374 -0
  449. data/vendor/cmock/vendor/unity/auto/parseOutput.rb +191 -0
  450. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +23 -0
  451. data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +8 -0
  452. data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +135 -0
  453. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +148 -0
  454. data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
  455. data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
  456. data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +224 -0
  457. data/vendor/cmock/vendor/unity/docs/license.txt +21 -0
  458. data/vendor/{unity/examples/example_3 → cmock/vendor/unity/examples/example_1}/makefile +9 -5
  459. data/vendor/cmock/vendor/unity/examples/example_1/readme.txt +5 -0
  460. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +24 -0
  461. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +3 -0
  462. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +11 -0
  463. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +2 -0
  464. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +62 -0
  465. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +31 -0
  466. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
  467. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
  468. data/vendor/cmock/vendor/unity/examples/example_2/makefile +71 -0
  469. data/vendor/cmock/vendor/unity/examples/example_2/readme.txt +5 -0
  470. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +24 -0
  471. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +3 -0
  472. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +11 -0
  473. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +2 -0
  474. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +64 -0
  475. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +33 -0
  476. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
  477. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
  478. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
  479. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +10 -0
  480. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +12 -0
  481. data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +43 -0
  482. data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +256 -0
  483. data/vendor/cmock/vendor/unity/examples/example_3/readme.txt +19 -0
  484. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +24 -0
  485. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +3 -0
  486. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +11 -0
  487. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +2 -0
  488. data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +46 -0
  489. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +62 -0
  490. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +31 -0
  491. data/vendor/cmock/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
  492. data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +48 -0
  493. data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +179 -0
  494. data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +9 -0
  495. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +423 -0
  496. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +78 -0
  497. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +46 -0
  498. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +45 -0
  499. data/vendor/cmock/vendor/unity/extras/fixture/test/Makefile +19 -0
  500. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  501. data/vendor/cmock/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  502. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +373 -0
  503. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +43 -0
  504. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +57 -0
  505. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  506. data/vendor/cmock/vendor/unity/release/build.info +2 -0
  507. data/vendor/cmock/vendor/unity/release/version.info +2 -0
  508. data/vendor/cmock/vendor/unity/src/unity.c +1324 -0
  509. data/vendor/cmock/vendor/unity/src/unity.h +285 -0
  510. data/vendor/cmock/vendor/unity/src/unity_internals.h +758 -0
  511. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +57 -0
  512. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +53 -0
  513. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.c +51 -0
  514. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.h +12 -0
  515. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +80 -0
  516. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +76 -0
  517. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
  518. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.h +11 -0
  519. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +89 -0
  520. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +89 -0
  521. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +77 -0
  522. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +89 -0
  523. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +89 -0
  524. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +90 -0
  525. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +63 -0
  526. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +66 -0
  527. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +54 -0
  528. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +63 -0
  529. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +66 -0
  530. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +67 -0
  531. data/vendor/cmock/vendor/unity/test/rakefile +60 -0
  532. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +255 -0
  533. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +84 -0
  534. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +84 -0
  535. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +50 -0
  536. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +51 -0
  537. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +47 -0
  538. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_sizeof.yml +48 -0
  539. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +59 -0
  540. data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +47 -0
  541. data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +101 -0
  542. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +89 -0
  543. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +79 -0
  544. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +79 -0
  545. data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  546. data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +83 -0
  547. data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +94 -0
  548. data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +85 -0
  549. data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +51 -0
  550. data/vendor/cmock/vendor/unity/test/testdata/sample.yml +9 -0
  551. data/vendor/cmock/vendor/unity/test/testdata/testsample.c +51 -0
  552. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +102 -0
  553. data/vendor/cmock/vendor/unity/test/tests/testparameterized.c +104 -0
  554. data/vendor/cmock/vendor/unity/test/tests/testunity.c +3656 -0
  555. data/vendor/unity/README.md +211 -203
  556. data/vendor/unity/auto/colour_reporter.rb +38 -38
  557. data/vendor/unity/auto/generate_config.yml +36 -36
  558. data/vendor/unity/auto/generate_module.rb +202 -202
  559. data/vendor/unity/auto/generate_test_runner.rb +389 -347
  560. data/vendor/unity/auto/parseOutput.rb +2 -0
  561. data/vendor/unity/auto/unity_test_summary.py +135 -135
  562. data/vendor/unity/auto/unity_test_summary.rb +148 -139
  563. data/vendor/unity/docs/Unity Summary.odt +0 -0
  564. data/vendor/unity/docs/Unity Summary.pdf +0 -0
  565. data/vendor/unity/docs/Unity Summary.txt +224 -216
  566. data/vendor/unity/docs/license.txt +21 -21
  567. data/vendor/unity/examples/example_1/makefile +7 -3
  568. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +29 -9
  569. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +26 -6
  570. data/vendor/unity/examples/example_2/makefile +7 -4
  571. data/vendor/unity/extras/fixture/rakefile.rb +48 -48
  572. data/vendor/unity/extras/fixture/rakefile_helper.rb +179 -179
  573. data/vendor/unity/extras/fixture/src/unity_fixture.c +123 -78
  574. data/vendor/unity/extras/fixture/src/unity_fixture.h +6 -14
  575. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +12 -15
  576. data/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +25 -0
  577. data/vendor/unity/extras/fixture/test/Makefile +35 -0
  578. data/vendor/unity/extras/fixture/test/main/AllTests.c +2 -1
  579. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +99 -4
  580. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +10 -0
  581. data/vendor/unity/extras/fixture/test/unity_output_Spy.c +3 -1
  582. data/vendor/unity/release/build.info +1 -1
  583. data/vendor/unity/release/version.info +1 -1
  584. data/vendor/unity/src/unity.c +1324 -1177
  585. data/vendor/unity/src/unity.h +285 -272
  586. data/vendor/unity/src/unity_internals.h +758 -692
  587. data/vendor/unity/test/expectdata/testsample_head1.c +51 -0
  588. data/vendor/unity/test/expectdata/testsample_head1.h +12 -0
  589. data/vendor/unity/test/expectdata/testsample_mock_cmd.c +1 -0
  590. data/vendor/unity/test/expectdata/testsample_mock_def.c +1 -0
  591. data/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
  592. data/vendor/unity/test/expectdata/testsample_mock_head1.h +11 -0
  593. data/vendor/unity/test/expectdata/testsample_mock_new1.c +3 -2
  594. data/vendor/unity/test/expectdata/testsample_mock_new2.c +1 -0
  595. data/vendor/unity/test/expectdata/testsample_mock_param.c +1 -0
  596. data/vendor/unity/test/expectdata/testsample_mock_run1.c +3 -2
  597. data/vendor/unity/test/expectdata/testsample_mock_run2.c +1 -0
  598. data/vendor/unity/test/expectdata/testsample_mock_yaml.c +4 -3
  599. data/vendor/unity/test/expectdata/testsample_new1.c +2 -2
  600. data/vendor/unity/test/expectdata/testsample_run1.c +2 -2
  601. data/vendor/unity/test/expectdata/testsample_yaml.c +3 -3
  602. data/vendor/unity/test/rakefile +60 -60
  603. data/vendor/unity/test/rakefile_helper.rb +255 -249
  604. data/vendor/unity/test/targets/clang_file.yml +83 -0
  605. data/vendor/unity/test/targets/clang_strict.yml +83 -83
  606. data/vendor/unity/test/targets/gcc_32.yml +49 -49
  607. data/vendor/unity/test/targets/gcc_64.yml +50 -50
  608. data/vendor/unity/test/targets/gcc_auto_limits.yml +46 -46
  609. data/vendor/unity/test/targets/gcc_auto_sizeof.yml +47 -47
  610. data/vendor/unity/test/targets/gcc_auto_stdint.yml +58 -58
  611. data/vendor/unity/test/targets/gcc_manual_math.yml +46 -0
  612. data/vendor/unity/test/targets/hitech_picc18.yml +101 -101
  613. data/vendor/unity/test/targets/iar_arm_v4.yml +89 -89
  614. data/vendor/unity/test/targets/iar_arm_v5.yml +79 -79
  615. data/vendor/unity/test/targets/iar_arm_v5_3.yml +79 -79
  616. data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -93
  617. data/vendor/unity/test/targets/iar_cortexm3_v5.yml +83 -83
  618. data/vendor/unity/test/targets/iar_msp430.yml +94 -94
  619. data/vendor/unity/test/targets/iar_sh2a_v6.yml +85 -85
  620. data/vendor/unity/test/testdata/mocksample.c +51 -51
  621. data/vendor/unity/test/testdata/sample.yml +8 -8
  622. data/vendor/unity/test/testdata/testsample.c +51 -51
  623. data/vendor/unity/test/tests/test_generate_test_runner.rb +102 -88
  624. data/vendor/unity/test/tests/testparameterized.c +104 -101
  625. data/vendor/unity/test/tests/testunity.c +3676 -3447
  626. metadata +549 -191
@@ -1,30 +1,30 @@
1
- //-----------------------------------------------------------------------------
2
- // ATMEL Microcontroller Software Support - ROUSSET -
3
- //-----------------------------------------------------------------------------
4
- // DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
5
- // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
6
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
7
- // DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
8
- // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
10
- // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
11
- // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
12
- // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
13
- // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14
- //-----------------------------------------------------------------------------
15
- // File Name : project.h
16
- // Object : project specific include file to AT91SAM7X256
17
- // Creation : JPP 14-Sep-2006
18
- //-----------------------------------------------------------------------------
19
- #ifndef _PROJECT_H
20
- #define _PROJECT_H
21
-
22
- /// Include your AT91 Library files and specific compiler definitions
23
-
24
- #include <intrinsics.h>
25
- #include "AT91SAM7X-EK.h"
26
- #include "AT91SAM7X256.h"
27
- #define __inline inline
28
- #include "lib_AT91SAM7X256.h"
29
-
30
- #endif // _PROJECT_H
1
+ //-----------------------------------------------------------------------------
2
+ // ATMEL Microcontroller Software Support - ROUSSET -
3
+ //-----------------------------------------------------------------------------
4
+ // DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
5
+ // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
6
+ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
7
+ // DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
8
+ // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
10
+ // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
11
+ // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
12
+ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
13
+ // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14
+ //-----------------------------------------------------------------------------
15
+ // File Name : project.h
16
+ // Object : project specific include file to AT91SAM7X256
17
+ // Creation : JPP 14-Sep-2006
18
+ //-----------------------------------------------------------------------------
19
+ #ifndef _PROJECT_H
20
+ #define _PROJECT_H
21
+
22
+ /// Include your AT91 Library files and specific compiler definitions
23
+
24
+ #include <intrinsics.h>
25
+ #include "AT91SAM7X-EK.h"
26
+ #include "AT91SAM7X256.h"
27
+ #define __inline inline
28
+ #include "lib_AT91SAM7X256.h"
29
+
30
+ #endif // _PROJECT_H
@@ -1,33 +1,33 @@
1
- @REM This bat file has been generated by the IAR Embeddded Workbench
2
- @REM C-SPY interactive debugger,as an aid to preparing a command
3
- @REM line for running the cspybat command line utility with the
4
- @REM appropriate settings.
5
- @REM
6
- @REM After making some adjustments to this file, you can launch cspybat
7
- @REM by typing the name of this file followed by the name of the debug
8
- @REM file (usually an ubrof file). Note that this file is generated
9
- @REM every time a new debug session is initialized, so you may want to
10
- @REM move or rename the file before making changes.
11
- @REM
12
- @REM Note: some command line arguments cannot be properly generated
13
- @REM by this process. Specifically, the plugin which is responsible
14
- @REM for the Terminal I/O window (and other C runtime functionality)
15
- @REM comes in a special version for cspybat, and the name of that
16
- @REM plugin dll is not known when generating this file. It resides in
17
- @REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or
18
- @REM XXXlibsupportbat.dll, where XXX is the name of the corresponding
19
- @REM tool chain. Replace the '<libsupport_plugin>' parameter
20
- @REM below with the appropriate file name. Other plugins loaded by
21
- @REM C-SPY are usually not needed by, or will not work in, cspybat
22
- @REM but they are listed at the end of this file for reference.
23
-
24
-
25
- "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\bin\cspybat" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armproc.dll" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armjlink.dll" %1 --plugin "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\<libsupport_plugin>" --macro "C:\Documents and Settings\Greg\Desktop\SAM7X256\AT91SAM7X-Interrupt_SAM7X\Compil\resource\SAM7_FLASH.mac" --backend -B "--endian=little" "--cpu=ARM7TDMI" "--fpu=None" "-p" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\CONFIG\debugger\Atmel\ioAT91SAM7X256.ddf" "--drv_verify_download" "--semihosting" "--device=AT91SAM7X256" "-d" "jlink" "--drv_communication=USB0" "--jlink_speed=adaptive"
26
-
27
-
28
- @REM Loaded plugins:
29
- @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armlibsupport.dll
30
- @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\CodeCoverage\CodeCoverage.dll
31
- @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\Profiling\Profiling.dll
32
- @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\stack\stack.dll
33
- @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\SymList\SymList.dll
1
+ @REM This bat file has been generated by the IAR Embeddded Workbench
2
+ @REM C-SPY interactive debugger,as an aid to preparing a command
3
+ @REM line for running the cspybat command line utility with the
4
+ @REM appropriate settings.
5
+ @REM
6
+ @REM After making some adjustments to this file, you can launch cspybat
7
+ @REM by typing the name of this file followed by the name of the debug
8
+ @REM file (usually an ubrof file). Note that this file is generated
9
+ @REM every time a new debug session is initialized, so you may want to
10
+ @REM move or rename the file before making changes.
11
+ @REM
12
+ @REM Note: some command line arguments cannot be properly generated
13
+ @REM by this process. Specifically, the plugin which is responsible
14
+ @REM for the Terminal I/O window (and other C runtime functionality)
15
+ @REM comes in a special version for cspybat, and the name of that
16
+ @REM plugin dll is not known when generating this file. It resides in
17
+ @REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or
18
+ @REM XXXlibsupportbat.dll, where XXX is the name of the corresponding
19
+ @REM tool chain. Replace the '<libsupport_plugin>' parameter
20
+ @REM below with the appropriate file name. Other plugins loaded by
21
+ @REM C-SPY are usually not needed by, or will not work in, cspybat
22
+ @REM but they are listed at the end of this file for reference.
23
+
24
+
25
+ "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\bin\cspybat" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armproc.dll" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armjlink.dll" %1 --plugin "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\<libsupport_plugin>" --macro "C:\Documents and Settings\Greg\Desktop\SAM7X256\AT91SAM7X-Interrupt_SAM7X\Compil\resource\SAM7_FLASH.mac" --backend -B "--endian=little" "--cpu=ARM7TDMI" "--fpu=None" "-p" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\CONFIG\debugger\Atmel\ioAT91SAM7X256.ddf" "--drv_verify_download" "--semihosting" "--device=AT91SAM7X256" "-d" "jlink" "--drv_communication=USB0" "--jlink_speed=adaptive"
26
+
27
+
28
+ @REM Loaded plugins:
29
+ @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armlibsupport.dll
30
+ @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\CodeCoverage\CodeCoverage.dll
31
+ @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\Profiling\Profiling.dll
32
+ @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\stack\stack.dll
33
+ @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\SymList\SymList.dll
@@ -1,12 +1,12 @@
1
- [FLASH]
2
- SkipProgOnCRCMatch = 1
3
- VerifyDownload = 1
4
- AllowCaching = 1
5
- EnableFlashDL = 2
6
- Override = 0
7
- Device="ADUC7020X62"
8
- [BREAKPOINTS]
9
- ShowInfoWin = 1
10
- EnableFlashBP = 2
11
- [CPU]
12
- AllowSimulation = 1
1
+ [FLASH]
2
+ SkipProgOnCRCMatch = 1
3
+ VerifyDownload = 1
4
+ AllowCaching = 1
5
+ EnableFlashDL = 2
6
+ Override = 0
7
+ Device="ADUC7020X62"
8
+ [BREAKPOINTS]
9
+ ShowInfoWin = 1
10
+ EnableFlashBP = 2
11
+ [CPU]
12
+ AllowSimulation = 1
@@ -1,33 +1,33 @@
1
- @REM This bat file has been generated by the IAR Embeddded Workbench
2
- @REM C-SPY interactive debugger,as an aid to preparing a command
3
- @REM line for running the cspybat command line utility with the
4
- @REM appropriate settings.
5
- @REM
6
- @REM After making some adjustments to this file, you can launch cspybat
7
- @REM by typing the name of this file followed by the name of the debug
8
- @REM file (usually an ubrof file). Note that this file is generated
9
- @REM every time a new debug session is initialized, so you may want to
10
- @REM move or rename the file before making changes.
11
- @REM
12
- @REM Note: some command line arguments cannot be properly generated
13
- @REM by this process. Specifically, the plugin which is responsible
14
- @REM for the Terminal I/O window (and other C runtime functionality)
15
- @REM comes in a special version for cspybat, and the name of that
16
- @REM plugin dll is not known when generating this file. It resides in
17
- @REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or
18
- @REM XXXlibsupportbat.dll, where XXX is the name of the corresponding
19
- @REM tool chain. Replace the '<libsupport_plugin>' parameter
20
- @REM below with the appropriate file name. Other plugins loaded by
21
- @REM C-SPY are usually not needed by, or will not work in, cspybat
22
- @REM but they are listed at the end of this file for reference.
23
-
24
-
25
- "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\bin\cspybat" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armproc.dll" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armjlink.dll" %1 --plugin "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\<libsupport_plugin>" --macro "C:\svn\cmock\iar\iar_v5\Resource\SAM7_RAM.mac" --backend -B "--endian=little" "--cpu=ARM7TDMI" "--fpu=None" "-p" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\CONFIG\debugger\Atmel\ioAT91SAM7X256.ddf" "--drv_verify_download" "--semihosting" "--device=AT91SAM7X256" "-d" "jlink" "--drv_communication=USB0" "--jlink_speed=adaptive"
26
-
27
-
28
- @REM Loaded plugins:
29
- @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armlibsupport.dll
30
- @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\CodeCoverage\CodeCoverage.dll
31
- @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\Profiling\Profiling.dll
32
- @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\stack\stack.dll
33
- @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\SymList\SymList.dll
1
+ @REM This bat file has been generated by the IAR Embeddded Workbench
2
+ @REM C-SPY interactive debugger,as an aid to preparing a command
3
+ @REM line for running the cspybat command line utility with the
4
+ @REM appropriate settings.
5
+ @REM
6
+ @REM After making some adjustments to this file, you can launch cspybat
7
+ @REM by typing the name of this file followed by the name of the debug
8
+ @REM file (usually an ubrof file). Note that this file is generated
9
+ @REM every time a new debug session is initialized, so you may want to
10
+ @REM move or rename the file before making changes.
11
+ @REM
12
+ @REM Note: some command line arguments cannot be properly generated
13
+ @REM by this process. Specifically, the plugin which is responsible
14
+ @REM for the Terminal I/O window (and other C runtime functionality)
15
+ @REM comes in a special version for cspybat, and the name of that
16
+ @REM plugin dll is not known when generating this file. It resides in
17
+ @REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or
18
+ @REM XXXlibsupportbat.dll, where XXX is the name of the corresponding
19
+ @REM tool chain. Replace the '<libsupport_plugin>' parameter
20
+ @REM below with the appropriate file name. Other plugins loaded by
21
+ @REM C-SPY are usually not needed by, or will not work in, cspybat
22
+ @REM but they are listed at the end of this file for reference.
23
+
24
+
25
+ "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\bin\cspybat" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armproc.dll" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armjlink.dll" %1 --plugin "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\<libsupport_plugin>" --macro "C:\svn\cmock\iar\iar_v5\Resource\SAM7_RAM.mac" --backend -B "--endian=little" "--cpu=ARM7TDMI" "--fpu=None" "-p" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\CONFIG\debugger\Atmel\ioAT91SAM7X256.ddf" "--drv_verify_download" "--semihosting" "--device=AT91SAM7X256" "-d" "jlink" "--drv_communication=USB0" "--jlink_speed=adaptive"
26
+
27
+
28
+ @REM Loaded plugins:
29
+ @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\ARM\bin\armlibsupport.dll
30
+ @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\CodeCoverage\CodeCoverage.dll
31
+ @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\Profiling\Profiling.dll
32
+ @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\stack\stack.dll
33
+ @REM C:\Program Files\IAR Systems\Embedded Workbench 5.0 Kickstart\common\plugins\SymList\SymList.dll
@@ -1,12 +1,12 @@
1
- [FLASH]
2
- SkipProgOnCRCMatch = 1
3
- VerifyDownload = 1
4
- AllowCaching = 1
5
- EnableFlashDL = 2
6
- Override = 0
7
- Device="ADUC7020X62"
8
- [BREAKPOINTS]
9
- ShowInfoWin = 1
10
- EnableFlashBP = 2
11
- [CPU]
12
- AllowSimulation = 1
1
+ [FLASH]
2
+ SkipProgOnCRCMatch = 1
3
+ VerifyDownload = 1
4
+ AllowCaching = 1
5
+ EnableFlashDL = 2
6
+ Override = 0
7
+ Device="ADUC7020X62"
8
+ [BREAKPOINTS]
9
+ ShowInfoWin = 1
10
+ EnableFlashBP = 2
11
+ [CPU]
12
+ AllowSimulation = 1
@@ -1,12 +1,12 @@
1
- [FLASH]
2
- SkipProgOnCRCMatch = 1
3
- VerifyDownload = 1
4
- AllowCaching = 1
5
- EnableFlashDL = 2
6
- Override = 0
7
- Device="ADUC7020X62"
8
- [BREAKPOINTS]
9
- ShowInfoWin = 1
10
- EnableFlashBP = 2
11
- [CPU]
12
- AllowSimulation = 1
1
+ [FLASH]
2
+ SkipProgOnCRCMatch = 1
3
+ VerifyDownload = 1
4
+ AllowCaching = 1
5
+ EnableFlashDL = 2
6
+ Override = 0
7
+ Device="ADUC7020X62"
8
+ [BREAKPOINTS]
9
+ ShowInfoWin = 1
10
+ EnableFlashBP = 2
11
+ [CPU]
12
+ AllowSimulation = 1
@@ -1,12 +1,12 @@
1
- [FLASH]
2
- SkipProgOnCRCMatch = 1
3
- VerifyDownload = 1
4
- AllowCaching = 1
5
- EnableFlashDL = 2
6
- Override = 0
7
- Device="ADUC7020X62"
8
- [BREAKPOINTS]
9
- ShowInfoWin = 1
10
- EnableFlashBP = 2
11
- [CPU]
12
- AllowSimulation = 1
1
+ [FLASH]
2
+ SkipProgOnCRCMatch = 1
3
+ VerifyDownload = 1
4
+ AllowCaching = 1
5
+ EnableFlashDL = 2
6
+ Override = 0
7
+ Device="ADUC7020X62"
8
+ [BREAKPOINTS]
9
+ ShowInfoWin = 1
10
+ EnableFlashBP = 2
11
+ [CPU]
12
+ AllowSimulation = 1
@@ -1,299 +1,299 @@
1
- ;* ----------------------------------------------------------------------------
2
- ;* ATMEL Microcontroller Software Support - ROUSSET -
3
- ;* ----------------------------------------------------------------------------
4
- ;* Copyright (c) 2006, Atmel Corporation
5
- ;
6
- ;* All rights reserved.
7
- ;*
8
- ;* Redistribution and use in source and binary forms, with or without
9
- ;* modification, are permitted provided that the following conditions are met:
10
- ;*
11
- ;* - Redistributions of source code must retain the above copyright notice,
12
- ;* this list of conditions and the disclaimer below.
13
- ;*
14
- ;* - Redistributions in binary form must reproduce the above copyright notice,
15
- ;* this list of conditions and the disclaimer below in the documentation and/or
16
- ;* other materials provided with the distribution.
17
- ;*
18
- ;* Atmel's name may not be used to endorse or promote products derived from
19
- ;* this software without specific prior written permission.
20
- ;*
21
- ;* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
22
- ;* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23
- ;* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
24
- ;* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
25
- ;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
- ;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
27
- ;* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
- ;* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
- ;* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30
- ;* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
- ;* ----------------------------------------------------------------------------
32
-
33
- ;------------------------------------------------------------------------------
34
- ; Include your AT91 Library files
35
- ;------------------------------------------------------------------------------
36
- #include "AT91SAM7X256_inc.h"
37
- ;------------------------------------------------------------------------------
38
-
39
- #define TOP_OF_MEMORY (AT91C_ISRAM + AT91C_ISRAM_SIZE)
40
- #define IRQ_STACK_SIZE (3*8*4)
41
- ; 3 words to be saved per interrupt priority level
42
-
43
- ; Mode, correspords to bits 0-5 in CPSR
44
- MODE_BITS DEFINE 0x1F ; Bit mask for mode bits in CPSR
45
- USR_MODE DEFINE 0x10 ; User mode
46
- FIQ_MODE DEFINE 0x11 ; Fast Interrupt Request mode
47
- IRQ_MODE DEFINE 0x12 ; Interrupt Request mode
48
- SVC_MODE DEFINE 0x13 ; Supervisor mode
49
- ABT_MODE DEFINE 0x17 ; Abort mode
50
- UND_MODE DEFINE 0x1B ; Undefined Instruction mode
51
- SYS_MODE DEFINE 0x1F ; System mode
52
-
53
- I_BIT DEFINE 0x80
54
- F_BIT DEFINE 0x40
55
-
56
- ;------------------------------------------------------------------------------
57
- ; ?RESET
58
- ; Reset Vector.
59
- ; Normally, segment INTVEC is linked at address 0.
60
- ; For debugging purposes, INTVEC may be placed at other addresses.
61
- ; A debugger that honors the entry point will start the
62
- ; program in a normal way even if INTVEC is not at address 0.
63
- ;------------------------------------------------------------------------------
64
- SECTION .intvec:CODE:NOROOT(2)
65
- PUBLIC __vector
66
- PUBLIC __iar_program_start
67
-
68
- ARM
69
- __vector:
70
- ldr pc,[pc,#+24] ;; Reset
71
- __und_handler:
72
- ldr pc,[pc,#+24] ;; Undefined instructions
73
- __swi_handler:
74
- ldr pc,[pc,#+24] ;; Software interrupt (SWI/SVC)
75
- __prefetch_handler:
76
- ldr pc,[pc,#+24] ;; Prefetch abort
77
- __data_handler:
78
- ldr pc,[pc,#+24] ;; Data abort
79
- DC32 0xFFFFFFFF ;; RESERVED
80
- __irq_handler:
81
- ldr pc,[pc,#+24] ;; IRQ
82
- __fiq_handler:
83
- ldr pc,[pc,#+24] ;; FIQ
84
-
85
- DC32 __iar_program_start
86
- DC32 __und_handler
87
- DC32 __swi_handler
88
- DC32 __prefetch_handler
89
- DC32 __data_handler
90
- B .
91
- DC32 IRQ_Handler_Entry
92
- DC32 FIQ_Handler_Entry
93
-
94
- ;------------------------------------------------------------------------------
95
- ;- Manage exception: The exception must be ensure in ARM mode
96
- ;------------------------------------------------------------------------------
97
- SECTION text:CODE:NOROOT(2)
98
- ARM
99
- ;------------------------------------------------------------------------------
100
- ;- Function : FIQ_Handler_Entry
101
- ;- Treatments : FIQ Controller Interrupt Handler.
102
- ;- R8 is initialize in Cstartup
103
- ;- Called Functions : None only by FIQ
104
- ;------------------------------------------------------------------------------
105
- FIQ_Handler_Entry:
106
-
107
- ;- Switch in SVC/User Mode to allow User Stack access for C code
108
- ; because the FIQ is not yet acknowledged
109
-
110
- ;- Save and r0 in FIQ_Register
111
- mov r9,r0
112
- ldr r0 , [r8, #AIC_FVR]
113
- msr CPSR_c,#I_BIT | F_BIT | SVC_MODE
114
- ;- Save scratch/used registers and LR in User Stack
115
- stmfd sp!, { r1-r3, r12, lr}
116
-
117
- ;- Branch to the routine pointed by the AIC_FVR
118
- mov r14, pc
119
- bx r0
120
-
121
- ;- Restore scratch/used registers and LR from User Stack
122
- ldmia sp!, { r1-r3, r12, lr}
123
-
124
- ;- Leave Interrupts disabled and switch back in FIQ mode
125
- msr CPSR_c, #I_BIT | F_BIT | FIQ_MODE
126
-
127
- ;- Restore the R0 ARM_MODE_SVC register
128
- mov r0,r9
129
-
130
- ;- Restore the Program Counter using the LR_fiq directly in the PC
131
- subs pc,lr,#4
132
- ;------------------------------------------------------------------------------
133
- ;- Function : IRQ_Handler_Entry
134
- ;- Treatments : IRQ Controller Interrupt Handler.
135
- ;- Called Functions : AIC_IVR[interrupt]
136
- ;------------------------------------------------------------------------------
137
- IRQ_Handler_Entry:
138
- ;-------------------------
139
- ;- Manage Exception Entry
140
- ;-------------------------
141
- ;- Adjust and save LR_irq in IRQ stack
142
- sub lr, lr, #4
143
- stmfd sp!, {lr}
144
-
145
- ;- Save r0 and SPSR (need to be saved for nested interrupt)
146
- mrs r14, SPSR
147
- stmfd sp!, {r0,r14}
148
-
149
- ;- Write in the IVR to support Protect Mode
150
- ;- No effect in Normal Mode
151
- ;- De-assert the NIRQ and clear the source in Protect Mode
152
- ldr r14, =AT91C_BASE_AIC
153
- ldr r0 , [r14, #AIC_IVR]
154
- str r14, [r14, #AIC_IVR]
155
-
156
- ;- Enable Interrupt and Switch in Supervisor Mode
157
- msr CPSR_c, #SVC_MODE
158
-
159
- ;- Save scratch/used registers and LR in User Stack
160
- stmfd sp!, { r1-r3, r12, r14}
161
-
162
- ;----------------------------------------------
163
- ;- Branch to the routine pointed by the AIC_IVR
164
- ;----------------------------------------------
165
- mov r14, pc
166
- bx r0
167
-
168
- ;----------------------------------------------
169
- ;- Manage Exception Exit
170
- ;----------------------------------------------
171
- ;- Restore scratch/used registers and LR from User Stack
172
- ldmia sp!, { r1-r3, r12, r14}
173
-
174
- ;- Disable Interrupt and switch back in IRQ mode
175
- msr CPSR_c, #I_BIT | IRQ_MODE
176
-
177
- ;- Mark the End of Interrupt on the AIC
178
- ldr r14, =AT91C_BASE_AIC
179
- str r14, [r14, #AIC_EOICR]
180
-
181
- ;- Restore SPSR_irq and r0 from IRQ stack
182
- ldmia sp!, {r0,r14}
183
- msr SPSR_cxsf, r14
184
-
185
- ;- Restore adjusted LR_irq from IRQ stack directly in the PC
186
- ldmia sp!, {pc}^
187
-
188
- ;------------------------------------------------------------------------------
189
- ;- Exception Vectors
190
- ;------------------------------------------------------------------------------
191
- PUBLIC AT91F_Default_FIQ_handler
192
- PUBLIC AT91F_Default_IRQ_handler
193
- PUBLIC AT91F_Spurious_handler
194
-
195
- ARM ; Always ARM mode after exeption
196
-
197
- AT91F_Default_FIQ_handler
198
- b AT91F_Default_FIQ_handler
199
-
200
- AT91F_Default_IRQ_handler
201
- b AT91F_Default_IRQ_handler
202
-
203
- AT91F_Spurious_handler
204
- b AT91F_Spurious_handler
205
-
206
-
207
- ;------------------------------------------------------------------------------
208
- ; ?INIT
209
- ; Program entry.
210
- ;------------------------------------------------------------------------------
211
-
212
- SECTION FIQ_STACK:DATA:NOROOT(3)
213
- SECTION IRQ_STACK:DATA:NOROOT(3)
214
- SECTION SVC_STACK:DATA:NOROOT(3)
215
- SECTION ABT_STACK:DATA:NOROOT(3)
216
- SECTION UND_STACK:DATA:NOROOT(3)
217
- SECTION CSTACK:DATA:NOROOT(3)
218
- SECTION text:CODE:NOROOT(2)
219
- REQUIRE __vector
220
- EXTERN ?main
221
- PUBLIC __iar_program_start
222
- EXTERN AT91F_LowLevelInit
223
-
224
-
225
- __iar_program_start:
226
-
227
- ;------------------------------------------------------------------------------
228
- ;- Low level Init is performed in a C function: AT91F_LowLevelInit
229
- ;- Init Stack Pointer to a valid memory area before calling AT91F_LowLevelInit
230
- ;------------------------------------------------------------------------------
231
-
232
- ;- Retrieve end of RAM address
233
-
234
- ldr r13,=TOP_OF_MEMORY ;- Temporary stack in internal RAM for Low Level Init execution
235
- ldr r0,=AT91F_LowLevelInit
236
- mov lr, pc
237
- bx r0 ;- Branch on C function (with interworking)
238
-
239
- ; Initialize the stack pointers.
240
- ; The pattern below can be used for any of the exception stacks:
241
- ; FIQ, IRQ, SVC, ABT, UND, SYS.
242
- ; The USR mode uses the same stack as SYS.
243
- ; The stack segments must be defined in the linker command file,
244
- ; and be declared above.
245
-
246
- mrs r0,cpsr ; Original PSR value
247
- bic r0,r0,#MODE_BITS ; Clear the mode bits
248
- orr r0,r0,#SVC_MODE ; Set SVC mode bits
249
- msr cpsr_c,r0 ; Change the mode
250
- ldr sp,=SFE(SVC_STACK) ; End of SVC_STACK
251
-
252
- bic r0,r0,#MODE_BITS ; Clear the mode bits
253
- orr r0,r0,#UND_MODE ; Set UND mode bits
254
- msr cpsr_c,r0 ; Change the mode
255
- ldr sp,=SFE(UND_STACK) ; End of UND_STACK
256
-
257
- bic r0,r0,#MODE_BITS ; Clear the mode bits
258
- orr r0,r0,#ABT_MODE ; Set ABT mode bits
259
- msr cpsr_c,r0 ; Change the mode
260
- ldr sp,=SFE(ABT_STACK) ; End of ABT_STACK
261
-
262
- bic r0,r0,#MODE_BITS ; Clear the mode bits
263
- orr r0,r0,#FIQ_MODE ; Set FIQ mode bits
264
- msr cpsr_c,r0 ; Change the mode
265
- ldr sp,=SFE(FIQ_STACK) ; End of FIQ_STACK
266
- ;- Init the FIQ register
267
- ldr r8, =AT91C_BASE_AIC
268
-
269
- bic r0,r0,#MODE_BITS ; Clear the mode bits
270
- orr r0,r0,#IRQ_MODE ; Set IRQ mode bits
271
- msr cpsr_c,r0 ; Change the mode
272
- ldr sp,=SFE(IRQ_STACK) ; End of IRQ_STACK
273
-
274
- bic r0,r0,#MODE_BITS ; Clear the mode bits
275
- orr r0,r0,#SYS_MODE ; Set System mode bits
276
- msr cpsr_c,r0 ; Change the mode
277
- ldr sp,=SFE(CSTACK) ; End of CSTACK
278
-
279
- #ifdef __ARMVFP__
280
- ; Enable the VFP coprocessor.
281
- mov r0, #0x40000000 ; Set EN bit in VFP
282
- fmxr fpexc, r0 ; FPEXC, clear others.
283
-
284
- ; Disable underflow exceptions by setting flush to zero mode.
285
- ; For full IEEE 754 underflow compliance this code should be removed
286
- ; and the appropriate exception handler installed.
287
- mov r0, #0x01000000 ; Set FZ bit in VFP
288
- fmxr fpscr, r0 ; FPSCR, clear others.
289
- #endif
290
-
291
- ; Add more initialization here
292
-
293
-
294
- ; Continue to ?main for more IAR specific system startup
295
-
296
- ldr r0,=?main
297
- bx r0
298
-
299
- END ;- Terminates the assembly of the last module in a file
1
+ ;* ----------------------------------------------------------------------------
2
+ ;* ATMEL Microcontroller Software Support - ROUSSET -
3
+ ;* ----------------------------------------------------------------------------
4
+ ;* Copyright (c) 2006, Atmel Corporation
5
+ ;
6
+ ;* All rights reserved.
7
+ ;*
8
+ ;* Redistribution and use in source and binary forms, with or without
9
+ ;* modification, are permitted provided that the following conditions are met:
10
+ ;*
11
+ ;* - Redistributions of source code must retain the above copyright notice,
12
+ ;* this list of conditions and the disclaimer below.
13
+ ;*
14
+ ;* - Redistributions in binary form must reproduce the above copyright notice,
15
+ ;* this list of conditions and the disclaimer below in the documentation and/or
16
+ ;* other materials provided with the distribution.
17
+ ;*
18
+ ;* Atmel's name may not be used to endorse or promote products derived from
19
+ ;* this software without specific prior written permission.
20
+ ;*
21
+ ;* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
22
+ ;* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23
+ ;* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
24
+ ;* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
25
+ ;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
+ ;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
27
+ ;* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
+ ;* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
+ ;* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30
+ ;* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+ ;* ----------------------------------------------------------------------------
32
+
33
+ ;------------------------------------------------------------------------------
34
+ ; Include your AT91 Library files
35
+ ;------------------------------------------------------------------------------
36
+ #include "AT91SAM7X256_inc.h"
37
+ ;------------------------------------------------------------------------------
38
+
39
+ #define TOP_OF_MEMORY (AT91C_ISRAM + AT91C_ISRAM_SIZE)
40
+ #define IRQ_STACK_SIZE (3*8*4)
41
+ ; 3 words to be saved per interrupt priority level
42
+
43
+ ; Mode, correspords to bits 0-5 in CPSR
44
+ MODE_BITS DEFINE 0x1F ; Bit mask for mode bits in CPSR
45
+ USR_MODE DEFINE 0x10 ; User mode
46
+ FIQ_MODE DEFINE 0x11 ; Fast Interrupt Request mode
47
+ IRQ_MODE DEFINE 0x12 ; Interrupt Request mode
48
+ SVC_MODE DEFINE 0x13 ; Supervisor mode
49
+ ABT_MODE DEFINE 0x17 ; Abort mode
50
+ UND_MODE DEFINE 0x1B ; Undefined Instruction mode
51
+ SYS_MODE DEFINE 0x1F ; System mode
52
+
53
+ I_BIT DEFINE 0x80
54
+ F_BIT DEFINE 0x40
55
+
56
+ ;------------------------------------------------------------------------------
57
+ ; ?RESET
58
+ ; Reset Vector.
59
+ ; Normally, segment INTVEC is linked at address 0.
60
+ ; For debugging purposes, INTVEC may be placed at other addresses.
61
+ ; A debugger that honors the entry point will start the
62
+ ; program in a normal way even if INTVEC is not at address 0.
63
+ ;------------------------------------------------------------------------------
64
+ SECTION .intvec:CODE:NOROOT(2)
65
+ PUBLIC __vector
66
+ PUBLIC __iar_program_start
67
+
68
+ ARM
69
+ __vector:
70
+ ldr pc,[pc,#+24] ;; Reset
71
+ __und_handler:
72
+ ldr pc,[pc,#+24] ;; Undefined instructions
73
+ __swi_handler:
74
+ ldr pc,[pc,#+24] ;; Software interrupt (SWI/SVC)
75
+ __prefetch_handler:
76
+ ldr pc,[pc,#+24] ;; Prefetch abort
77
+ __data_handler:
78
+ ldr pc,[pc,#+24] ;; Data abort
79
+ DC32 0xFFFFFFFF ;; RESERVED
80
+ __irq_handler:
81
+ ldr pc,[pc,#+24] ;; IRQ
82
+ __fiq_handler:
83
+ ldr pc,[pc,#+24] ;; FIQ
84
+
85
+ DC32 __iar_program_start
86
+ DC32 __und_handler
87
+ DC32 __swi_handler
88
+ DC32 __prefetch_handler
89
+ DC32 __data_handler
90
+ B .
91
+ DC32 IRQ_Handler_Entry
92
+ DC32 FIQ_Handler_Entry
93
+
94
+ ;------------------------------------------------------------------------------
95
+ ;- Manage exception: The exception must be ensure in ARM mode
96
+ ;------------------------------------------------------------------------------
97
+ SECTION text:CODE:NOROOT(2)
98
+ ARM
99
+ ;------------------------------------------------------------------------------
100
+ ;- Function : FIQ_Handler_Entry
101
+ ;- Treatments : FIQ Controller Interrupt Handler.
102
+ ;- R8 is initialize in Cstartup
103
+ ;- Called Functions : None only by FIQ
104
+ ;------------------------------------------------------------------------------
105
+ FIQ_Handler_Entry:
106
+
107
+ ;- Switch in SVC/User Mode to allow User Stack access for C code
108
+ ; because the FIQ is not yet acknowledged
109
+
110
+ ;- Save and r0 in FIQ_Register
111
+ mov r9,r0
112
+ ldr r0 , [r8, #AIC_FVR]
113
+ msr CPSR_c,#I_BIT | F_BIT | SVC_MODE
114
+ ;- Save scratch/used registers and LR in User Stack
115
+ stmfd sp!, { r1-r3, r12, lr}
116
+
117
+ ;- Branch to the routine pointed by the AIC_FVR
118
+ mov r14, pc
119
+ bx r0
120
+
121
+ ;- Restore scratch/used registers and LR from User Stack
122
+ ldmia sp!, { r1-r3, r12, lr}
123
+
124
+ ;- Leave Interrupts disabled and switch back in FIQ mode
125
+ msr CPSR_c, #I_BIT | F_BIT | FIQ_MODE
126
+
127
+ ;- Restore the R0 ARM_MODE_SVC register
128
+ mov r0,r9
129
+
130
+ ;- Restore the Program Counter using the LR_fiq directly in the PC
131
+ subs pc,lr,#4
132
+ ;------------------------------------------------------------------------------
133
+ ;- Function : IRQ_Handler_Entry
134
+ ;- Treatments : IRQ Controller Interrupt Handler.
135
+ ;- Called Functions : AIC_IVR[interrupt]
136
+ ;------------------------------------------------------------------------------
137
+ IRQ_Handler_Entry:
138
+ ;-------------------------
139
+ ;- Manage Exception Entry
140
+ ;-------------------------
141
+ ;- Adjust and save LR_irq in IRQ stack
142
+ sub lr, lr, #4
143
+ stmfd sp!, {lr}
144
+
145
+ ;- Save r0 and SPSR (need to be saved for nested interrupt)
146
+ mrs r14, SPSR
147
+ stmfd sp!, {r0,r14}
148
+
149
+ ;- Write in the IVR to support Protect Mode
150
+ ;- No effect in Normal Mode
151
+ ;- De-assert the NIRQ and clear the source in Protect Mode
152
+ ldr r14, =AT91C_BASE_AIC
153
+ ldr r0 , [r14, #AIC_IVR]
154
+ str r14, [r14, #AIC_IVR]
155
+
156
+ ;- Enable Interrupt and Switch in Supervisor Mode
157
+ msr CPSR_c, #SVC_MODE
158
+
159
+ ;- Save scratch/used registers and LR in User Stack
160
+ stmfd sp!, { r1-r3, r12, r14}
161
+
162
+ ;----------------------------------------------
163
+ ;- Branch to the routine pointed by the AIC_IVR
164
+ ;----------------------------------------------
165
+ mov r14, pc
166
+ bx r0
167
+
168
+ ;----------------------------------------------
169
+ ;- Manage Exception Exit
170
+ ;----------------------------------------------
171
+ ;- Restore scratch/used registers and LR from User Stack
172
+ ldmia sp!, { r1-r3, r12, r14}
173
+
174
+ ;- Disable Interrupt and switch back in IRQ mode
175
+ msr CPSR_c, #I_BIT | IRQ_MODE
176
+
177
+ ;- Mark the End of Interrupt on the AIC
178
+ ldr r14, =AT91C_BASE_AIC
179
+ str r14, [r14, #AIC_EOICR]
180
+
181
+ ;- Restore SPSR_irq and r0 from IRQ stack
182
+ ldmia sp!, {r0,r14}
183
+ msr SPSR_cxsf, r14
184
+
185
+ ;- Restore adjusted LR_irq from IRQ stack directly in the PC
186
+ ldmia sp!, {pc}^
187
+
188
+ ;------------------------------------------------------------------------------
189
+ ;- Exception Vectors
190
+ ;------------------------------------------------------------------------------
191
+ PUBLIC AT91F_Default_FIQ_handler
192
+ PUBLIC AT91F_Default_IRQ_handler
193
+ PUBLIC AT91F_Spurious_handler
194
+
195
+ ARM ; Always ARM mode after exeption
196
+
197
+ AT91F_Default_FIQ_handler
198
+ b AT91F_Default_FIQ_handler
199
+
200
+ AT91F_Default_IRQ_handler
201
+ b AT91F_Default_IRQ_handler
202
+
203
+ AT91F_Spurious_handler
204
+ b AT91F_Spurious_handler
205
+
206
+
207
+ ;------------------------------------------------------------------------------
208
+ ; ?INIT
209
+ ; Program entry.
210
+ ;------------------------------------------------------------------------------
211
+
212
+ SECTION FIQ_STACK:DATA:NOROOT(3)
213
+ SECTION IRQ_STACK:DATA:NOROOT(3)
214
+ SECTION SVC_STACK:DATA:NOROOT(3)
215
+ SECTION ABT_STACK:DATA:NOROOT(3)
216
+ SECTION UND_STACK:DATA:NOROOT(3)
217
+ SECTION CSTACK:DATA:NOROOT(3)
218
+ SECTION text:CODE:NOROOT(2)
219
+ REQUIRE __vector
220
+ EXTERN ?main
221
+ PUBLIC __iar_program_start
222
+ EXTERN AT91F_LowLevelInit
223
+
224
+
225
+ __iar_program_start:
226
+
227
+ ;------------------------------------------------------------------------------
228
+ ;- Low level Init is performed in a C function: AT91F_LowLevelInit
229
+ ;- Init Stack Pointer to a valid memory area before calling AT91F_LowLevelInit
230
+ ;------------------------------------------------------------------------------
231
+
232
+ ;- Retrieve end of RAM address
233
+
234
+ ldr r13,=TOP_OF_MEMORY ;- Temporary stack in internal RAM for Low Level Init execution
235
+ ldr r0,=AT91F_LowLevelInit
236
+ mov lr, pc
237
+ bx r0 ;- Branch on C function (with interworking)
238
+
239
+ ; Initialize the stack pointers.
240
+ ; The pattern below can be used for any of the exception stacks:
241
+ ; FIQ, IRQ, SVC, ABT, UND, SYS.
242
+ ; The USR mode uses the same stack as SYS.
243
+ ; The stack segments must be defined in the linker command file,
244
+ ; and be declared above.
245
+
246
+ mrs r0,cpsr ; Original PSR value
247
+ bic r0,r0,#MODE_BITS ; Clear the mode bits
248
+ orr r0,r0,#SVC_MODE ; Set SVC mode bits
249
+ msr cpsr_c,r0 ; Change the mode
250
+ ldr sp,=SFE(SVC_STACK) ; End of SVC_STACK
251
+
252
+ bic r0,r0,#MODE_BITS ; Clear the mode bits
253
+ orr r0,r0,#UND_MODE ; Set UND mode bits
254
+ msr cpsr_c,r0 ; Change the mode
255
+ ldr sp,=SFE(UND_STACK) ; End of UND_STACK
256
+
257
+ bic r0,r0,#MODE_BITS ; Clear the mode bits
258
+ orr r0,r0,#ABT_MODE ; Set ABT mode bits
259
+ msr cpsr_c,r0 ; Change the mode
260
+ ldr sp,=SFE(ABT_STACK) ; End of ABT_STACK
261
+
262
+ bic r0,r0,#MODE_BITS ; Clear the mode bits
263
+ orr r0,r0,#FIQ_MODE ; Set FIQ mode bits
264
+ msr cpsr_c,r0 ; Change the mode
265
+ ldr sp,=SFE(FIQ_STACK) ; End of FIQ_STACK
266
+ ;- Init the FIQ register
267
+ ldr r8, =AT91C_BASE_AIC
268
+
269
+ bic r0,r0,#MODE_BITS ; Clear the mode bits
270
+ orr r0,r0,#IRQ_MODE ; Set IRQ mode bits
271
+ msr cpsr_c,r0 ; Change the mode
272
+ ldr sp,=SFE(IRQ_STACK) ; End of IRQ_STACK
273
+
274
+ bic r0,r0,#MODE_BITS ; Clear the mode bits
275
+ orr r0,r0,#SYS_MODE ; Set System mode bits
276
+ msr cpsr_c,r0 ; Change the mode
277
+ ldr sp,=SFE(CSTACK) ; End of CSTACK
278
+
279
+ #ifdef __ARMVFP__
280
+ ; Enable the VFP coprocessor.
281
+ mov r0, #0x40000000 ; Set EN bit in VFP
282
+ fmxr fpexc, r0 ; FPEXC, clear others.
283
+
284
+ ; Disable underflow exceptions by setting flush to zero mode.
285
+ ; For full IEEE 754 underflow compliance this code should be removed
286
+ ; and the appropriate exception handler installed.
287
+ mov r0, #0x01000000 ; Set FZ bit in VFP
288
+ fmxr fpscr, r0 ; FPSCR, clear others.
289
+ #endif
290
+
291
+ ; Add more initialization here
292
+
293
+
294
+ ; Continue to ?main for more IAR specific system startup
295
+
296
+ ldr r0,=?main
297
+ bx r0
298
+
299
+ END ;- Terminates the assembly of the last module in a file