付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Project Generator introductionPierre Le-CorreDominique ChaillotMCD Application Rennes11th Apr 20141How to manage examples/applications/demo for the STM32Firmware package in an efficient way.Situation/Improvement2Current situation:During CUBE deployment, people have to port the same example/applicati
2、on project over and over for the STM32F4/F2/F3/F1/L1/L0 and this, for each board (Eval,Discovery,Nucleo). This effort increases along the time with the introduction of the new family/chip/board and the enrichment of examples/applications/demos This task is repetitive and resource-consuming.STM32F4ST
3、M32F3STM32F3-DiscoverySTM32F2STM32373C_EVALSTM32303C_EVALSTM32F3348-DiscoverySTM32F302R8-NucleoSTM32F4-DiscoverySTM32F4xx-NucleoSTM32F401-DiscoverySTM32F429I-DiscoverySTM324xG_EVALSTM32F4-DiscoverySTM322xG_EVALEach GPIO_IOToggle is different but in fact very similarSituation/Improvement3Improve the
4、situation:Increase the reuse : the code provided for an example/application/demo is common, only the setting and the user feedback (Led, button, ) differs, so no blocking point to reuse the code.Use a reference model : help unified examplesTeam GainReduce the code reviewEasy example generation : onl
5、y some setting to updateValidation time : common part is already validate, only focus on settings/feedbackCorrection deployment : automatically handled by the toolsProject GainIncrease the delivery capabilityReduce the integration time for a derivativeFree resource to focus on adding value task. Pro
6、ject generator overview4Example reference (template)Template_config.xmlIt.c/hmain.c/hreadme.txtTargetProject.ewd/eww/ewpTarget_config.xmlEWARM_Configuration_examples.xmlClockClockxxx.xmlCMSIS / HALsystem_stm32fxxx.cStartup_stm32xx.sStm32xxx_flash.icfHal_conf_template.hProject Generator(script perl)I
7、AR project dedicated to the target Project generator overview5Example with GPIO_IOToggleSTM32F4STM32F3STM32F3-DiscoverySTM32F2STM32373C_EVALSTM32303C_EVALSTM32F3348-DiscoverySTM32F302R8-NucleoSTM32F4-DiscoverySTM32F4xx-NucleoSTM32F401-DiscoverySTM32F429I-DiscoverySTM324xG_EVALSTM32F4-DiscoverySTM322
8、xG_EVALGPIO_IOToggle reference (template)Project GeneratorSTM32F4 configSTM32F2 configSTM32F3 config90% of Reuse, Standard code, development time reduceProject generator integration6Project GeneratorData base of canvasScript to generate the project(s)./ProjectsGeneration.pl -target TARGET_STM32303C_
9、EVAL project RTC_CalendarFW PackageFW PackageFW PackageExample/ApplicationsSTM32F3xxSTM32L1xxSTM32F2xxNo impact on SVN strategyProject Generator Example7How to generate an example for a new board ?Create the new board TEST ./_ProjectGenerator/TemplateUpdate the GIO_Toogle template for the board TEST
10、 _config.xmlGenerate the example Compile the example Project Generator Status8The tool is already available under SVN It already contains many examples from STM32F2 and STM32F3. (30 modules with several examples inside)It contains many applications (FreeRTOS, USB, FatFS, STEmwin, touch sensing).It i
11、s used to generates the projects on F0 + all the boards for F3.Thank you10CONFIDENTIALITY OBLIGATIONS:THIS DOCUMENT CONTAINS SENSITIVE INFORMATION. IT IS CLASSIFIED “MICROCONTROLLERS, MEMORIES & SECURE MCUs (MMS) RESTRICTED AND ITS DISTRIBUTION IS SUBMITTED TO ST/MMS AUTHORIZATIONAT ALL TIMES YOU SH
12、OULD COMPLY WITH THE FOLLOWING SECURITY RULES:- DO NOT COPY OR REPRODUCE ALL OR PART OF THIS DOCUMENT- KEEP THIS DOCUMENT LOCKED AWAY- FURTHER COPIES CAN BE PROVIDED ON A “NEED TO KNOW BASIS”, PLEASE CONTACT YOUR LOCAL ST SALES OFFICE OR DOCUMENT WRITTER.Information furnished is believed to be accur
13、ate and reliable. However, STMicroelectronics assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rig
14、hts of STMicroelectronics. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not authorized for use as critical components in life support devices or systems
15、 without express written approval of STMicroelectronics.The ST logo is registered trademark of STMicroelectronicsAll other names are the property of their respective owners 2010 STMicroelectronics - All Rights ReservedSTMicroelectronics group of companies Australia - Brazil - Canada - China - Finlan
16、d - France - Germany - Hong Kong - India - Israel - Italy - Japan - Malaysia - Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States. Project Generator Methodologie11This is a collaborative toolEverybody can modify the canvas and the products configurations.By u
17、pdating the canva, you ease the job of the next guy porting this example on his product (maybe you!).All modifications should be reported inside the canva.Even if you think only your product has this specificity, you never know what will be the next board or the next product. So ADD IT!If you think
18、it is not interesting for the others. Probably it is not for you too!If you think what you are adding is interesting. Everybody MUST inherit the modification. with clear responsibilities:IP owner are responsible for the coherence of the canvas.People doing the examples/appli are responsible of the c
19、onfiguration of their product + add their product specificities (Ip owner will review them).When a commit is done, a mail is generated with information like modified files + commit log with IPowner in TO, interface in CC to warn them of the modifications.Project generator overview12Project Generator
20、Provide a clear reference.Generate automatically the project for IAR100% reuse!Time gainSTM32F4STM32F3STM32F3-DiscoverySTM32F2STM32373C_EVALSTM32303C_EVALSTM32F3348-DiscoverySTM32F302R8-NucleoSTM32F4-DiscoverySTM32F4xx-NucleoSTM32F401-DiscoverySTM32F429I-DiscoverySTM324xG_EVALSTM32F4-DiscoverySTM322
21、xG_EVALGPIO_IOToggle reference (canvas)Project GeneratorSTM32F4 configSTM32F2 configSTM32F3 configSVN strategy13Appropriate situation:Maximize reuse = gain time in: Development (someone as already done it)Validation (someone as already done it). You validate only the differences.Provide a reference
22、for everybody.STM32F4STM32F3STM32F3-DiscoverySTM32F2STM32373C_EVALSTM32303C_EVALSTM32F3348-DiscoverySTM32F302R8-NucleoSTM32F4-DiscoverySTM32F4xx-NucleoSTM32F401-DiscoverySTM32F429I-DiscoverySTM324xG_EVALSTM32F4-DiscoverySTM322xG_EVALGPIO_IOToggle referenceSVN strategy14The tool is already available
23、under SVN It already contains all the examples from STM32F2 and STM32F3. (30 modules with several examples inside)It contains many applications (FreeRTOS, USB, FatFS, STEmwin, touch sensing).It is used to generates the projects on F0 + all the boards for F3.How it works15ProjectsGenerator contains c
24、anvas of projects. It must be added to a firmware package.The canvas contains the code and its configuration.The product specific part are removed.Keywords and specific switchs are added to manage the differences of product/boards.A typical canvas project directory :keywords16The code contains keywo
25、rds:addtogroup $FAMILYNAME_UC$_HAL_ExamplesIs replaced byaddtogroup STM32F3xx_HAL_ExamplesThe definition of the keywords: Cortex-M4 72 MHz STM32F3-Discovery RevB STM32F3-Discovery stm32f3_discovery STM32F3xx stm32f3xx Each product define its own keywords. The list is now mature and should not change
26、 a lot.switch17The code contains switches: /* -1- Enable each GPIO Clock (to be able to program the configuration registers) */#if defined(GENERATOR_1_LED_ON_BOARD) $LED1$_GPIO_CLK_ENABLE();#elif defined(GENERATOR_4_LED_ON_BOARD) $LED1$_GPIO_CLK_ENABLE(); $LED2$_GPIO_CLK_ENABLE(); $LED3$_GPIO_CLK_EN
27、ABLE(); $LED4$_GPIO_CLK_ENABLE();#elif defined(GENERATOR_8_LED_ON_BOARD) $LED1$_GPIO_CLK_ENABLE(); $LED2$_GPIO_CLK_ENABLE(); $LED7$_GPIO_CLK_ENABLE(); $LED8$_GPIO_CLK_ENABLE();#else#error Not correctly cleaned the switches of type LedNumberOnBoard#endifThose switches are cleaned during the generatio
28、n of the project:What is remaining using GENERATOR_1_LED_ON_BOARD (nucleo case) /* -1- Enable each GPIO Clock (to be able to program the configuration registers) */ LED2_GPIO_CLK_ENABLE();Remark $LED1$ changed to LED2 on Nucleo board!NucleoEVAL and some discoveryF3 discoveryMethodologie18This is a c
29、ollaborative toolEverybody can modify the canvas and the products configurations.By updating the canva, you ease the job of the next guy porting this example on his product (maybe you!).All modifications should be reported inside the canva.Even if you think only your product has this specificity, yo
30、u never know what will be the next board or the next product. So ADD IT!If you think it is not interesting for the others. Probably it is not for you too!If you think what you are adding is interesting. Everybody MUST inherit the modification. with clear responsibilities:IP owner are responsible for
31、 the coherence of the canvas.People doing the examples/appli are responsible of the configuration of their product + add their product specificities (Ip owner will review them).When a commit is done, a mail is generated with information like modified files + commit log with IPowner in TO, interface in CC to warn them of the modifications.Tools overview19Project GeneratorData base of canvasFW PackageScript to generate the project(s)./ProjectsGe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川乐山市峨边彝族自治县招聘县属国有企业人员27人备考题库带答案详解(夺分金卷)
- 2026青海海北州海晏县三角城镇卫生院招聘B超医生1人备考题库(典优)附答案详解
- 2026西南石油大学南充校区安全与后勤保障部招聘2名临时聘用员工备考题库(四川)附参考答案详解(夺分金卷)
- 2026湖北中联太工程造价咨询有限公司招聘备考题库附答案详解【满分必刷】
- 《柳树姑娘》教案
- 【百色】2025广西壮族自治区百色市百色市科技招录工作人员4人笔试历年典型考题及考点剖析附带答案详解
- 2026浙江宁波市象山半边山紫冠投资有限公司酒店管理分公司(宁波象山海景皇冠假日酒店)招聘1人笔试历年参考题库附带答案详解
- 2025江苏东布洲科技园集团有限公司下属子公司招聘劳务派遣人员部分岗位延长笔试历年参考题库附带答案详解
- 2025四川雅安市名山区茶城建设工程有限公司第二批次项目用工员工招聘及人员笔试历年参考题库附带答案详解
- 吊顶专项工程施工方案
- 2024年全国统一高考数学试卷(文科)甲卷含答案
- (正式版)FZ∕T 73031-2024 压力袜
- 中国航空轮胎工业
- 街舞教学计划方案
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 食品与饮料招商引资方案
- NB-T 47013.15-2021 承压设备无损检测 第15部分:相控阵超声检测
- 高教类课件:发动机构造与维修(第3版)
- 汉、越语熟语文化内涵比较研究
- 素能培优(七)平面向量与三角形的“四心”
- 核磁教学讲解课件
评论
0/150
提交评论