Re: [请益] 韧体初学者

楼主: Chienning (Chienning)   2020-02-17 04:42:48
其实从Arduino开始玩也有很多乐趣,初始成本也低 (20€/35€)。
一张Uno(AVR)或是Due(ARM M3),加上电脑和一条USB线就可以开工了。
开发工具容易安装,不需要什么设定,ATMEL (处理器厂商)的文件也算齐全。
Arduino开发软件内建的范例程式 (如那个九九乘法表) 简单易了解。
在初期可以多花点时间在程式技巧上,不用烦心那些开机程序。
随意写写小程式,也写些电脑端的程式,透过USB 序列埠让电脑和Arduino互动。
(比如说写个AES或是SHA,让慢到不行的AVR把电脑传过去的资料加密或算杂凑)
然后因为总总原因 (处理器就是慢、c/c++编译器很鸟),想把程式写快一点,
这时可以去电脑的暂存目录把执行档elf找出来,反编译成组合语言,
看看自己或编译器做了什么蠢事,能不能在c语言做些最佳化。
还是不够快/小,就试试把程式的一小段改成in-line asm。
一开始在c程式内夹组合语言会有点痛苦,语法不直觉,但网络上有不少范例。
然后就是越玩越大,变成整个程式只有头尾是c,第三行开始就是组合语言,
(naked function) 这时就要了解AVR或是ARM的函式呼叫规则 (ABI)。
ps, Arduino的开发环境大概只能玩到这样了。
然后有个分支任务。Arduino内建了一些函式,控制处理器每根针角的输出入。
透过那个函式,最基本就是能控制板子上的那个LED灯。
试着去了解那些程式怎么写的,印象七八年前的版本非常没效率,又肥又慢。
试着用c语言,自己去填内存 (SFR) 控制那些针角。顺便读一读处理器的手册。
玩到这边,还是只需要电脑/USB/Arduino,可能加买几棵LED。
之后还有兴趣,可以考虑买条除错线。ATMEL的除错线不贵,
但我印象开发环境是绑定visual studio的接口,... orz ...
有了除错线就能单步执行、修改暂存器和内存内容 ...
不要太依赖除错线,除错线是用来对付硬件bug的,软件bug请用自己的大脑 ;p
ps, Arduino的开发环境的软件,完全没有除错功能 :)
到这边就有最基本的能力,之后可以考虑升级玩有作业系统的平台。
或是像Zynq这类的FPGA,不过这又是另外一条很长的路了。
※ 引述《lihgong ( )》之铭言:
: 如果还在学校,就买以下东西开始玩,看看受不受得了
: 1. STM32F103最小系统
: 2. J-Link EDU(到mouser买最便宜)
: ps. 或是买STM的Nucleo板,上面有MCU和开发工具(STLINK可刷J-Link)
: 正版开发工具,报价不到1000元更便宜
: 这样子一套可以在3000块以内(更便宜当然有),试着让板子上的LED一闪一闪亮晶晶
: 当然,这里不要用Arduino,用STM32CUBE MX产生开机程式,然后操作他的GPIO点亮LED
: 试着读一下data sheet,追一下这段程式怎么变成操作register,用用示波器,看看信号
: 如果第一步三千块花下去,觉得索然无味,那就这个领域你可能不适合而已
: 附带一提,示波器也不贵,淘宝一台4ch约莫台币10000就有了
: 接下来就看想玩点什么,MCU外面的书很多,很容易找到有趣的题目
: 有些经验了,建议可以把作业系统挂上去,比如FreeRTOS,用起来又会是另一种感觉
: 实际上路了,缺什么再去学,其实走这行就是得不断学习,天天都觉得自己什么都不会
: ※ 引述《SmallBeeWayn (喵喵叫的蜜蜂猫)》之铭言:
: : ※ 引述《t7365443 (U彦)》之铭言:
: : : 各位版友好
: : : 目前就读国立科大硕(电机)
: : : 大学是资工系的
: : : 本人一直想走韧体工程师这方面
: : : 但是实验室又是做网络相关的
: : : 想找个网络设备的韧体的领域
: : : 想知道如果要走韧体这方面需要补足什么地方
: : : 有什么比较重要的地方 可以自己自学或是去修大学部的课
: : : 大学是稍微有玩过arduino开发版
: : : 但尤其是硬件这方面 (电子 电路 嵌入式系统等等)以前资工教的比较少
: : : 谢谢各位的意见
作者: onegoman (SKY)   2020-02-17 06:45:00
推。
作者: jeff40108 (死得腥羶艳油剂是他)   2020-02-17 08:50:00
真的推,对学校新手更友善
作者: single4565 (leekdumpling韭菜水饺)   2020-02-17 08:57:00
作者: pseudoman (剑无锋)   2020-02-17 09:15:00
是说arduino做的东西 要怎么产品化呢?
作者: csfgsj (切割对半)   2020-02-17 14:36:00
针对槟榔摊的闪烁灯泡,可以产品化。算是最初级的产品吧
作者: aria0520 (紫)   2020-02-18 22:53:00
直接玩树莓派吧

Links booklink

Contact Us: admin [ a t ] ucptt.com