Re: [问题] 如何快速上手arm架构的MCU?

楼主: ypyp1010 (Nigel)   2018-07-24 10:11:10
※ 引述《zzss2003 (brotherD)》之铭言:
: 嗨,各位好。
: 我有一年8-bit Microchip PIC的经验,最近有机会接触arm M0+架构的CPU。
: 手上有相关案子的旧版的电路图、流程图、相关文件(该有的都有,但命名方式可能不太
: 直觉加上版本可能不是最新的,加上相关文件改了又改改了又改,有些地方也可能是错的
: 、或者跟最新版本的source code对不上)
: 加上我自己对整个案子该用到的功能(wifi module、Usart)没有很熟,也不知道硬件IC什
: 么以及什么情况会给MCU讯号,也不知道MCU什么时候该做判断。
: 还有代理商帮这个案子写的整个source code(很多命名方式只有他自己看得懂)
: 请问在这种情况下(刚接手到一个ongoing的案子),最快的上手方式是什么呢?
: 我是觉得用问的最快,电路图不懂就问EE:source code不懂就问代理商,然后再从不懂的
: 地方延伸去了解整个案子的行为。
: 但,问问题之前总要自己做功课,不能当伸手牌。可是以我现阶段的能力又无法在短时间
: 内对整个案子有观念上的了解,加上还要熟悉keil的相关工具(uVision、debug tool)
: 请问前辈,你们会建议我要从哪边着手,才能迅速对这个案子上手呢? 谢谢!
您好,稍微分享一下我的更换MCU心得。
目前使用过的M0芯片有TI、ST、microchip、Nuvoton、Fujitsu,
8-bit的比较多杂牌,就不各别列举了。
如果一个案子只是要拿来应用
写些基础的功能类如简易的上位机(LED、Switch、UART、BUZZ)
或是GPIO应用,有的没的逻辑判断之类
只要拿出原厂的BSP(也就是Sample code)
可以build跟download,然后确定时脉正确,中断可以进
就直接做了
反正用完这次,下次也不知道会不会继续用它...
不用培养太深的感情
如果是要做一些ongoing的案子
时间不急的话就可以k一下code
看看别人的写法顺便讨论
然后加入自己的优化
很大系统又很急的话就认命吧
赶快抓着人问,边问边测试边修改
因为我认为这时候k code的帮助会比较小一点
k完程式时,自己也差不多被k到墙上了
直接拿source code开始做搬运工分类程式
i-功能设定func的分类:
把各种功能初始化或是功能变更的func归类在各个.c档
例如timer1就要有一个timer1的.c跟.h
以后有什么timer1的东西就死命往这里找就对了
ii-应用程式的分类:
通常程式主要的功能都是在main或是各个中断
如同(i)的逻辑,各种中断或广义的功能也要有自己的.c跟.h
完成以上两步骤后
就可以直接抓着原屎作者面对面擦屎...
喔不,是了解流程图,然后写注解
整个project写完注解后也差不多就清楚整个架构
而且可以比较轻易的做修改了
此外,分类的好处就是可以轻易的包lib或是换人接手
以后换谁接手就新增一个自己名子的group
自己有修改过的东西丢自己的夹
大概是这样
如果各位有什么更好的方式
希望可以一起分享出来
因为写程式的圈子很小

始终会回到自己身上...
作者: chuegou (chuegou)   2018-07-24 12:22:00
是什么是用情境 让你的分类会需要建立个别使用者资料夹我以为这该用版控解决的说
作者: frogofmagic (呆蛙)   2018-07-24 16:04:00
那也要公司有导入版控QQ
楼主: ypyp1010 (Nigel)   2018-07-24 16:21:00
公司没有板控QQ,出去的code也会在各种能力不同的使用者上二度开发,有些大修有些小修,各别使用者可以在相同底层下定义自己专案的参数等等
作者: chuegou (chuegou)   2018-07-24 18:50:00
再问一个 是IDE还是Makefile
作者: zxzx8059 (zxzx8059)   2018-07-24 18:55:00
通用ide,cortex-m的授权在10+万stm32L什么的好像有keil mdk的免费授权各家ide免费版也是有授权的限制
作者: suninrain (低潮)   2018-07-25 18:07:00
我们是每一版都是进到文管,然后会加上release note,如果有小改就后面备注,大改就用define虽然没有像SVN那么容易找,但是使用上还可以~
作者: metalalive (独乐乐不如众乐乐)   2018-11-22 14:32:00
最后一句话...XD

Links booklink

Contact Us: admin [ a t ] ucptt.com