你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

在STM32F4 Discovery上用.net程序  

[复制链接]
nick_zhang 发布时间:2015-5-27 13:29
本帖最后由 nick_zhang 于 2015-5-27 13:33 编辑
8 N& [  a/ r& @0 Q* V0 q  n+ A8 ^! _" o' i" `
说是.net,其实是.NET MicroFramework,一个给嵌入式设备用的精简版,好处是不需要操作系统,可直接在单片机上运行; U1 y' h) S# T/ ^0 n
你需要准备下面几个' U% c0 B1 r& `. ]* j* N1 l
1.当然,一块STM32F4 Discovery
+ t0 `/ _+ w* Z4 n9 ?- g. S, J2.usb micro和usb mini线! [- d" |/ ~5 c( i
3.STM32 ST-LINK Utility 用来写bootloader到板上
$ B# ]0 W5 f1 E1 }: _/ r4. 下载 stm32f4discovery.zip and  STM32_WinUSB_drivers_(for_evaluation_purposes_only).ziphttp://netmf4stm32.codeplex.com/
8 [0 |" x7 y3 P8 H6 V5.visual studio 2010, 2012?
5 Y+ ~5 V) m" x% A/ E6. .NET MicroFramework SDK http://netmf.codeplex.com/ b/ B  p5 K0 ~% Y9 N+ d
装好所有软件,连接 usb mini线到电脑,接上F4
2 K6 m, R! {% ?1 J3 S3 Z1 ?# _打开STM32 ST-LINK Utility,它会安装板的驱动,并自动升级bootloader(联网),擦除所有东西
2 K8 T$ A0 @$ @# _9 a. |1 R8 T* k4 c
解压 stm32f4discovery.zip 有三个文件: Tinybooter.hex, ER_Flash.hex and ER_Config.hex.
/ y8 K& L9 |9 a- T1 C# ?& h) g
" g+ f) H! H+ V/ e1 ]" o. U  k8 B选择Tinybooter.hex写入
5 `7 J% P8 A8 r' j, g/ J8 h
0 w% A1 U: v6 H  n+ v+ d' F+ C& e- q4 D) d2 d0 i  M

& j1 P2 {# W1 s/ i: r
/ H9 B* F- Y- i
收藏 4 评论50 发布时间:2015-5-27 13:29

举报

50个回答
moyanming2013 回答时间:2015-5-30 16:53:38
moyanming2013 发表于 2015-5-30 16:34
( S3 I& w  l  h# _9 g其实实时嵌入式用C++都费劲(程序员、硬件资源等等)更不用说用C#了。
# K) v" E  k$ x- Y8 X( @6 j个人认为,这个C#完全是个噱头!
" R# ]$ ^( {4 [2 D" \7 m就 ...

( M. s9 J) u) \+ f: g" K# ~) O别搞C#了,简直是在浪费时间和精力。: T$ A2 W) T- g; j0 V' `2 p& C& Y
下图是.NET Micro Framework对硬件资源的最低要求(smallest form):  n( C& s4 o' O* ?& _
QQ截图20150530164241.jpg 8 I5 N! J* O9 |$ O! j9 u
最低要求64Kb RAM和256Kb的Flash存储,按照惯例此处的单位都是KByte,但随着该.NET的升级,最低要求还会升高。1 E! i" J: }; V- J. ?9 _
当然,如果你要添加更多的特性,我估计对硬件的需求将会是成倍的增加(C#最简单的hello world二进制程序代码比最简单的C SDK版hello world多出若干倍的数量级,这只是程序代码,为了运行c#还需要.NET来支撑)!& ?+ C7 F# H* M* g
LZ使用的F4 DISCOVERY,具有192KB RAM, 1024KB FLASH,我估计添加一些基本的特性,就没空间了吧?那该如何添加应用呢?5 S$ x$ Q9 ]# d9 i+ A" x1 H( w
对于低成本的STM32来说,C#就是无用的!
3 m  \9 x9 J3 K! ^( m* i% B0 P: \$ V
截图取自《.NET Micro Framework Porting Kit Version 4.2》(见附件),目前是最新的版本,可以在此处找到更新:0 S8 e6 r5 B: r' l" W+ Y9 x
http://netmf.codeplex.com/documentation6 c2 W  [3 _, ^( z4 B' a# r( _
以及一个讨论列表:
4 g: c$ H% W  E$ f$ jhttp://netmf.codeplex.com/discussions
: Y, h8 h( `3 F6 w
! T  M% P2 @( O
9 J2 Z8 ~  _9 d* P! _

PortingKitDataSheet.pdf

下载

515.3 KB, 下载次数: 16

nick_zhang 回答时间:2015-5-27 13:52:13
本帖最后由 nick_zhang 于 2015-5-28 10:53 编辑 ; p, n; W7 U" d2 w) Z4 a% _& r

1 |5 y/ I+ L9 y& D& a; T  O% c6 G这个是mf的固件,有好几个 STM32F4Discovery_Hex.zip (2.4 MB, 下载次数: 66)

STM32F4Discovery_Demo.zip

下载

2.14 MB, 下载次数: 42

nick_zhang 回答时间:2015-5-27 13:46:13
本帖最后由 nick_zhang 于 2015-5-28 10:36 编辑 9 ~6 v1 V. C; Y
9 X0 @1 _! Q- v& w
写入后重置板子,再连上microUSB线
4 O7 ?7 ~3 V: x插入电脑后windows发现新设备,安装STM32_WinUSB_drivers& l* a" s8 V: O; y2 ]
现在微框架部署工具(MFDeploy)能看到板子了( x- }1 _4 e* t; e

9 Z$ T! H5 @* y: |) Z4 x如上图 ping到板子后* H8 M( A8 ]5 G' v3 G4 c
; j/ O+ J2 G- U6 U* x& r6 ^- v
找的ER_CONFIG和ER_FLASH并部署到板上
" u: `, v- [" j; B  i6 E重置F4
2 t/ }4 A8 A( G  u3 a; }% D0 G: Z- v1 S2 W: k$ B3 M1 E
接下来就可以用Visual Studio来写程序了,打开vs,我的是2012,新建一个mf工程,本例在单片机上无图形,所以选console application* y1 _. A. E& K8 g$ B7 e+ y
打开项目属性页 如图选择USB,写好程序就可以部署了,通过micro USB,mini USB也要插上为了供电
8 r" ~) }/ R! A! x3 j9 G' H  ~
% D; ^+ Q' y& s, \7 ?
无标题.jpg
捕获1.JPG
qianfan 回答时间:2015-5-27 13:49:34
ST有一个专门的文档,说的很清楚了,不过没有Nucleo系列的包,只有429discovery的包。
nick_zhang 回答时间:2015-5-27 13:53:05
QianFan 发表于 2015-5-27 13:49
% T( B+ Y9 Z8 i& ^ST有一个专门的文档,说的很清楚了,不过没有Nucleo系列的包,只有429discovery的包。 ...
9 Q! T) K6 H* e
对呀,不过这个是407的,官方可没有
eurphan 回答时间:2015-5-27 14:20:23
那岂不是可以支持C#写的程序了
nick_zhang 回答时间:2015-5-27 14:23:48
eurphan 发表于 2015-5-27 14:20
+ D4 c0 y2 v) L! s. ^那岂不是可以支持C#写的程序了

! M  ~- J0 L" D) f% z. \% ?1 r没错,就是C#
eurphan 回答时间:2015-5-27 14:25:03
nick_zhang 发表于 2015-5-27 14:23
' M' h* U" z$ c* G* C没错,就是C#

" K! {+ W0 D0 ^# M太爽了,有没有支持NUCLEO的呀
nick_zhang 回答时间:2015-5-27 14:33:59
eurphan 发表于 2015-5-27 14:25
3 w( K# h; N4 B5 I$ U7 d% `太爽了,有没有支持NUCLEO的呀

+ d2 J0 ?; I, ^4 gNUCLEO没有407芯片的,不过你可以编译一个给401用的tinybooter,这有点麻烦
eurphan 回答时间:2015-5-27 14:36:10
nick_zhang 发表于 2015-5-27 14:33$ j4 d) K$ }! O5 v
NUCLEO没有407芯片的,不过你可以编译一个给401用的tinybooter,这有点麻烦

$ D- V9 T4 U' F- W2 e只有411                           
nick_zhang 回答时间:2015-5-27 14:44:51
eurphan 发表于 2015-5-27 14:36% C. f& M8 G$ a+ M; t* k! ]
只有411

5 @4 x: v- r6 J0 rNETMF是一套移植工具,你可以用Keil从源代码来编译核心,当然要做些修改
小小超 回答时间:2015-5-27 15:24:57
谢谢分享!
JackieLaura 回答时间:2015-5-27 15:39:18
用C#写程序,不错。可惜没板子。。
黑溱郎 回答时间:2015-5-27 15:48:53
我先看看,学一下。
awficel1 回答时间:2015-5-27 21:41:45
NET/ t& M9 m$ n) \' s& B
' I6 k* z! X1 S! D4 G1 X9 u6 D
太爽了
1234下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版