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

在STM32F4 Discovery上用.net程序  

[复制链接]
nick_zhang 发布时间:2015-5-27 13:29
本帖最后由 nick_zhang 于 2015-5-27 13:33 编辑
( Y4 S! u3 L  k1 h* a, y
* P/ Y5 d' E) N/ N( Q3 M说是.net,其实是.NET MicroFramework,一个给嵌入式设备用的精简版,好处是不需要操作系统,可直接在单片机上运行. f; C* y$ S! y7 r% a4 D) l
你需要准备下面几个
5 t# j) M$ x6 X$ P  A8 D1.当然,一块STM32F4 Discovery
) t  V( G) {+ R7 y  w2.usb micro和usb mini线
( R3 q8 z# o( X- _5 e3 _+ o3.STM32 ST-LINK Utility 用来写bootloader到板上
& e. r8 V$ V% x) \& ^( w6 @" r3 Y4. 下载 stm32f4discovery.zip and  STM32_WinUSB_drivers_(for_evaluation_purposes_only).zip从http://netmf4stm32.codeplex.com/
5 k- K) k3 V( Y" k) i. |5.visual studio 2010, 2012?
1 W3 y0 \% ~9 }& G3 _2 x, U6. .NET MicroFramework SDK http://netmf.codeplex.com7 t, }# M( F& v3 ?9 y3 {9 r. Q9 l
装好所有软件,连接 usb mini线到电脑,接上F48 K6 a2 _0 W$ }
打开STM32 ST-LINK Utility,它会安装板的驱动,并自动升级bootloader(联网),擦除所有东西
) x; q* T% c" H  G
/ ^, D* s/ z$ [4 _解压 stm32f4discovery.zip 有三个文件: Tinybooter.hex, ER_Flash.hex and ER_Config.hex.; R$ C; r0 L  T& S: Q; Y2 u( V. Z

6 W. I; D$ a- \( m+ M; Y- N' X选择Tinybooter.hex写入+ h$ H+ T) H4 l7 ]& t4 S" p  H
9 q$ N* W4 b: q% l" w) r

3 q6 \' A% N' J: }
6 Q: a9 {4 c. w) w$ \
9 m( h- y4 T1 c4 X; Y
赞 收藏 4 评论50 发布时间:2015-5-27 13:29

举报

50个回答
moyanming2013 回答时间:2015-5-30 16:53:38
moyanming2013 发表于 2015-5-30 16:34
6 p! F/ W3 _' \) f- G3 ~' ~- k8 v其实实时嵌入式用C++都费劲(程序员、硬件资源等等)更不用说用C#了。
9 l  N! e2 V, k; I9 \个人认为,这个C#完全是个噱头!
. s, F3 }4 K! l就 ...
7 z( y# X" k# [. c- l( W
别搞C#了,简直是在浪费时间和精力。$ R8 Z" n' z) r1 G) `1 j
下图是.NET Micro Framework对硬件资源的最低要求(smallest form):2 k( k3 \6 j- t$ C5 B5 [
QQ截图20150530164241.jpg + @, L5 }- z* t! I& X4 i; E
最低要求64Kb RAM和256Kb的Flash存储,按照惯例此处的单位都是KByte,但随着该.NET的升级,最低要求还会升高。
0 D) |, O# G3 r: K8 ?当然,如果你要添加更多的特性,我估计对硬件的需求将会是成倍的增加(C#最简单的hello world二进制程序代码比最简单的C SDK版hello world多出若干倍的数量级,这只是程序代码,为了运行c#还需要.NET来支撑)!
8 x* J3 ?0 J5 `! [+ e6 [" CLZ使用的F4 DISCOVERY,具有192KB RAM, 1024KB FLASH,我估计添加一些基本的特性,就没空间了吧?那该如何添加应用呢?
  X4 w4 P* D0 B% v对于低成本的STM32来说,C#就是无用的!1 e4 h$ L! W# O: w, U" X

; F, `( R/ x2 {( _截图取自《.NET Micro Framework Porting Kit Version 4.2》(见附件),目前是最新的版本,可以在此处找到更新:4 O' y' y4 V/ ]  C# F1 P, q
http://netmf.codeplex.com/documentation. G) V: m1 r; x
以及一个讨论列表:- z* e$ B9 Z$ |, }
http://netmf.codeplex.com/discussions
9 E* a' S7 K7 ^& b2 b. ?; E3 [* Y; D2 K/ F! [  [0 l9 V2 }' x
. ~: Z6 v3 H" Q& |  r' [5 _: R- R

PortingKitDataSheet.pdf

下载

515.3 KB, 下载次数: 16

nick_zhang 回答时间:2015-5-27 13:52:13
本帖最后由 nick_zhang 于 2015-5-28 10:53 编辑
4 K9 S# w# |% u! l* h0 E7 q  V
7 w4 P% E; j( t这个是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 编辑 0 H! d5 P! U$ \* [) u2 W
  Q3 |5 @9 X6 c
写入后重置板子,再连上microUSB线
! n. c% u; i1 ?3 n. K& ?, j插入电脑后windows发现新设备,安装STM32_WinUSB_drivers
; V3 x9 B, H8 k现在微框架部署工具(MFDeploy)能看到板子了0 j# N0 W, d8 s5 R; Z

# m9 Q" u3 r5 b) q8 A如上图 ping到板子后7 X" N0 I, W2 _; i: F
9 D5 N# h9 G* F- |9 Y5 p+ M8 R* a
找的ER_CONFIG和ER_FLASH并部署到板上
% _% r7 ]  [  F( y! S' ^重置F4
7 T0 ~; ^) Q" _2 b- h/ j
; G8 `. s1 |$ x, v接下来就可以用Visual Studio来写程序了,打开vs,我的是2012,新建一个mf工程,本例在单片机上无图形,所以选console application( s% n$ o6 k" W9 L! Y- K
打开项目属性页 如图选择USB,写好程序就可以部署了,通过micro USB,mini USB也要插上为了供电) {% Y; \; G; Y3 Z/ s0 T! q/ w1 [+ v6 m

" S; V. ]7 r" I0 N: _" l: u
无标题.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:490 Z+ ?- E8 F; K7 A' i1 ?
ST有一个专门的文档,说的很清楚了,不过没有Nucleo系列的包,只有429discovery的包。 ...

$ S) ~) n! n$ o" f  M2 O% x, O0 V' r对呀,不过这个是407的,官方可没有
eurphan 回答时间:2015-5-27 14:20:23
那岂不是可以支持C#写的程序了
nick_zhang 回答时间:2015-5-27 14:23:48
eurphan 发表于 2015-5-27 14:20; t/ [8 u) ]* `! x
那岂不是可以支持C#写的程序了

1 c, N5 a' K8 N. S没错,就是C#
eurphan 回答时间:2015-5-27 14:25:03
nick_zhang 发表于 2015-5-27 14:23
1 ?$ Y5 V1 s3 [) L5 t5 w% S没错,就是C#
9 [' h. H! Z+ {4 Z: W
太爽了,有没有支持NUCLEO的呀
nick_zhang 回答时间:2015-5-27 14:33:59
eurphan 发表于 2015-5-27 14:25% L; y% P$ I1 u
太爽了,有没有支持NUCLEO的呀

. a* p" l6 V- \! W% X: SNUCLEO没有407芯片的,不过你可以编译一个给401用的tinybooter,这有点麻烦
eurphan 回答时间:2015-5-27 14:36:10
nick_zhang 发表于 2015-5-27 14:33
* z$ R* T5 D/ [/ U2 s; kNUCLEO没有407芯片的,不过你可以编译一个给401用的tinybooter,这有点麻烦
, z$ ^' i9 C+ L# ~! m/ l
只有411                           
nick_zhang 回答时间:2015-5-27 14:44:51
eurphan 发表于 2015-5-27 14:36
, n. O6 |7 _( |9 X8 E4 q$ i6 J+ Y只有411
0 `* {' R( g) ?+ U
NETMF是一套移植工具,你可以用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* X% x$ G, i1 m" m3 `
& O2 R( q2 I* a
太爽了
1234下一页

所属标签

相似技术帖

官网相关资源

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