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

在STM32F4 Discovery上用.net程序  

[复制链接]
nick_zhang 发布时间:2015-5-27 13:29
本帖最后由 nick_zhang 于 2015-5-27 13:33 编辑 4 l  W  w4 k  Z! G
. R& l: [+ r# Z+ J# s
说是.net,其实是.NET MicroFramework,一个给嵌入式设备用的精简版,好处是不需要操作系统,可直接在单片机上运行3 b3 n% Z; p( A* O- t5 H9 k) m1 P
你需要准备下面几个
0 T2 |2 y: I5 G/ V/ W1.当然,一块STM32F4 Discovery& s+ V! ^! a1 L2 H/ [6 h; @
2.usb micro和usb mini线! P' J( w5 @4 h* V4 R( H
3.STM32 ST-LINK Utility 用来写bootloader到板上% `3 F! m. x3 P- [0 P" T1 B4 ~$ x
4. 下载 stm32f4discovery.zip and  STM32_WinUSB_drivers_(for_evaluation_purposes_only).zip从http://netmf4stm32.codeplex.com/9 Y9 l1 c, p: L7 _
5.visual studio 2010, 2012?
/ c3 p, k& A1 \# |, T1 ~3 U8 f6. .NET MicroFramework SDK http://netmf.codeplex.com7 N# q9 [# }/ U. [7 v
装好所有软件,连接 usb mini线到电脑,接上F4
% M1 P" K: A8 m) T! K: i. G打开STM32 ST-LINK Utility,它会安装板的驱动,并自动升级bootloader(联网),擦除所有东西" ]: e( n: P, r! s# I6 k& d

2 j8 }3 j1 W) e解压 stm32f4discovery.zip 有三个文件: Tinybooter.hex, ER_Flash.hex and ER_Config.hex.
8 A* ]- Y' x  w  K, n6 c6 o
+ \; P6 ?5 O/ |* Y: d选择Tinybooter.hex写入! Q; Q- ^3 u& [4 b+ ~! R
! B& [- b7 H$ }, W& o( k
7 @+ n8 S6 V7 f$ w. c' k
: e6 y6 V5 j. r/ \3 \* O( {  A- Q
& j. j1 L3 M5 d; L1 k. a4 L, U  E
赞 收藏 4 评论50 发布时间:2015-5-27 13:29

举报

50个回答
moyanming2013 回答时间:2015-5-30 16:53:38
moyanming2013 发表于 2015-5-30 16:34
& p6 W; l$ A$ g其实实时嵌入式用C++都费劲(程序员、硬件资源等等)更不用说用C#了。
* k: z) T3 f' `5 m3 E& t/ v9 O个人认为,这个C#完全是个噱头!8 F9 e- v# V& H) @: k
就 ...

( k+ I9 F- x" X别搞C#了,简直是在浪费时间和精力。
+ I8 _; Z( i% ]下图是.NET Micro Framework对硬件资源的最低要求(smallest form):  g+ u! r: x8 C2 X
QQ截图20150530164241.jpg
6 E/ \  t) n+ Y4 ~' o7 k) m最低要求64Kb RAM和256Kb的Flash存储,按照惯例此处的单位都是KByte,但随着该.NET的升级,最低要求还会升高。
6 n1 n! g/ N9 P" S, {当然,如果你要添加更多的特性,我估计对硬件的需求将会是成倍的增加(C#最简单的hello world二进制程序代码比最简单的C SDK版hello world多出若干倍的数量级,这只是程序代码,为了运行c#还需要.NET来支撑)!0 a- w% J; `; R1 d! Q5 F
LZ使用的F4 DISCOVERY,具有192KB RAM, 1024KB FLASH,我估计添加一些基本的特性,就没空间了吧?那该如何添加应用呢?0 F( }3 `2 u1 l
对于低成本的STM32来说,C#就是无用的!$ F$ H$ i- s: z3 `* M- q0 ?) c
2 X$ Q9 c- C1 v1 b1 W+ N: z& f' ^
截图取自《.NET Micro Framework Porting Kit Version 4.2》(见附件),目前是最新的版本,可以在此处找到更新:
2 z/ w6 }4 @& s1 Vhttp://netmf.codeplex.com/documentation: k& U1 ~  b/ R6 Y. U
以及一个讨论列表:
" s7 J7 s9 m9 j7 I/ rhttp://netmf.codeplex.com/discussions+ L4 u& Q( q/ b. Q( ~2 g# r

- k) O$ r0 S# x7 O' |" K  y( V: n! n- D. {2 k9 N8 N# o# I

PortingKitDataSheet.pdf

下载

515.3 KB, 下载次数: 16

nick_zhang 回答时间:2015-5-27 13:52:13
本帖最后由 nick_zhang 于 2015-5-28 10:53 编辑
6 L- P9 X9 z/ u- W) W
% ~8 e: s# R& y6 B1 V这个是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 编辑 # z& l1 z# ]1 x! I1 P& W

9 b; o) X6 w' o写入后重置板子,再连上microUSB线
+ S% G; \+ X/ u2 k0 r. c插入电脑后windows发现新设备,安装STM32_WinUSB_drivers
. I! z/ G* o6 T( u+ D! i+ L: ~现在微框架部署工具(MFDeploy)能看到板子了
4 g' T: I- V0 B6 W3 F
) T9 |7 R( v7 w8 \& h: p如上图 ping到板子后) |/ {$ L% T8 m0 c$ @6 _- Q

5 n, N" j+ {  R; G2 o5 D- h找的ER_CONFIG和ER_FLASH并部署到板上( |  {7 P) v( f8 R# ?$ j# O
重置F4( o. v+ x/ i6 ]/ F( P
+ j* m: k' t* @  o9 S% P. I% c
接下来就可以用Visual Studio来写程序了,打开vs,我的是2012,新建一个mf工程,本例在单片机上无图形,所以选console application, T7 x  o" z8 k6 w6 A4 x9 c) Z
打开项目属性页 如图选择USB,写好程序就可以部署了,通过micro USB,mini USB也要插上为了供电- j! Q5 L! Q4 z6 q( v: B

7 c* W% ]9 c' ]" ]& B1 E# O
无标题.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
7 D$ W* X' J+ G- t( B& }: Q4 n/ B: gST有一个专门的文档,说的很清楚了,不过没有Nucleo系列的包,只有429discovery的包。 ...
! C! g4 z* Q9 v( Y8 O
对呀,不过这个是407的,官方可没有
eurphan 回答时间:2015-5-27 14:20:23
那岂不是可以支持C#写的程序了
nick_zhang 回答时间:2015-5-27 14:23:48
eurphan 发表于 2015-5-27 14:20
( d, c5 ~$ [2 Q# j7 b$ [7 v5 ?5 \那岂不是可以支持C#写的程序了

% W' W* ]5 I2 a9 l+ F) O没错,就是C#
eurphan 回答时间:2015-5-27 14:25:03
nick_zhang 发表于 2015-5-27 14:23, M& e" O: A9 a* j0 k* E2 D0 I. H
没错,就是C#
; g! H3 P/ F& o9 T" P" `0 J
太爽了,有没有支持NUCLEO的呀
nick_zhang 回答时间:2015-5-27 14:33:59
eurphan 发表于 2015-5-27 14:25
4 a9 e4 c" e" X: U太爽了,有没有支持NUCLEO的呀
% w- y; m3 f( I/ Z
NUCLEO没有407芯片的,不过你可以编译一个给401用的tinybooter,这有点麻烦
eurphan 回答时间:2015-5-27 14:36:10
nick_zhang 发表于 2015-5-27 14:337 ~$ c, E' e: o' r7 f
NUCLEO没有407芯片的,不过你可以编译一个给401用的tinybooter,这有点麻烦
" D9 Q$ N4 ~2 i, D
只有411                           
nick_zhang 回答时间:2015-5-27 14:44:51
eurphan 发表于 2015-5-27 14:36
& e+ p4 q9 W5 d7 ~$ }只有411

- A/ m; R2 N6 LNETMF是一套移植工具,你可以用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
+ I0 G" b3 F0 m/ H1 v6 y# [1 G( @& ]
太爽了
1234下一页

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版