【.NET MF】.NET Micro Framework USB移植
1、开发环境
- windows 7 32位
- MDK 4.54
- .Net Micro Framework Porting Kit 4.2(RTM QFE2)
- .Net Micro Framework SDK 4.2(RTM QFE2)
- Microsoft Visual Studio 2010
- 开发板 野火IOS V2
2、移植前的准备
2.1、运行C:\PK\Solutions\STM32Stamp\Debug_Flash.bat将MF编译成DEBUG模式,由于DEBUG模式下编译的文件包含了调试信息所以文件超出了CODE的区域修改散列文件,详参见:【.NET MF】STM32Stamp项目DEBUG后代码区域超界。在C:\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\bin目录下会得到tinyclr.axf文件。
2.2、用MDK工具来调试我们生成的tinyclr.axf文件,打开MDK工具,新建一个project,输入项目名字“USB”,接下来选择芯片型号“STM32F103ZE”,提示“Copy 'startup_stm32f10x_hd.s' to Project Folder and Add File to Project?” 点“否”,不需要增加到项目里去。
2.3、打开Project菜单->Options for Target 'Tartget1'
2.4、设置Debug选项
2.5、设置Utilities选项
2.6、设置烧录设备J-LINK
2.7、点工具栏上的“Downdload”->“Start/Stop Debug Session(Ctrl+F5)”->“Run(F5)”->“Stop”,这段操作流程的意思是先将成生的AXF文件下载到设备上去,然后进行调试,当进去时会有个黙认的入口断点(PreStackInit,暂且这称呼),这时按下运行按钮,让其运行完,然后中断调试。
2.8、查看GPIOD的初始化,打开“Peripherals->General Purpose I/O->GPIOD”,发现PD3的引脚没有被初始化,如图:
2.9、为什么要查看PD3呢,查看野火IOS V2的电路图
3.0、上面调试环境及工作原理搞清楚后,哪我们如何来配置MK呢?使其能够工作起来(重点!!!!!)
3.0.1、配置DEBUGGER_PORT 为USB模式
打开C:\PK\Solutions\STM32Stamp\platform_selector.h,72行改为“USB1”
#define DEBUGGER_PORT USB1//COM1
3.0.2、设置PD3为低电平
同一个文件中,75行,去掉注释,改为:
#define STM32_USB_Attach_Pin_Low 51 // PD3
3.0.3、初始化GPIO,修改IO_Ini.cpp
打开C:\PK\Solutions\STM32Stamp\DeviceCode\Init\IO_Init.cpp,把__section函数的内容改为:
void __section(SectionForBootstrapOperations) BootstrapCode_GPIO() { /* Enable GPIOA, GPIOB, and GPIOC clocks */ RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPCEN|RCC_APB2ENR_IOPDEN|RCC_APB2ENR_IOPEEN|RCC_APB2ENR_IOPFEN; // pins: 15------8 7------0 GPIOA->CRH = 0x44444444; GPIOA->CRL = 0x44444444; GPIOB->CRH = 0x44444444; GPIOB->CRL = 0x44444444; GPIOC->CRH = 0x44444444; GPIOC->CRL = 0x44444444; GPIOD->CRH = 0x44444444; GPIOD->CRL = 0x44444444; GPIOE->CRH = 0x44444444; GPIOE->CRL = 0x44444444; GPIOF->CRH = 0x44444444; GPIOF->CRL = 0x44444444; }
3.0.4、打开MDK,重新Downdload,再时行调试,查看GPIOD PD3的初始化是否成功,是否为低电平
看到哪图所示,说明初始化及PD3的电平都是正确的了,到此步修改MK的工作完成了,接下来接上USB口,这时PC端会发现一个未知的USB设备
3.0.5、安装设备的驱动,具体的操作方法见:《自定义USB设备名称及驱动名称》,不需要更改设备名称直接安装USB_DRIVER就可以了,到此完成了全部的修改过程,祝好运!!
附:20141117晚上聊天记录(有密码慎重下载)
相关文章
- 【原创】.NET开源表达式计算组件介绍与使用
- Net 4.5 WebSocket 在 Windows 7, Windows 8 and Server 2012上的比较以及问题
- C# ASP.NET FILEUPLOAD详解
- 问题-[WIN8.132位系统]安装Win8.1 遇到无法升级.NET Framework 3.5.1
- ASP.NET关于书籍详情和删除的Demo(HttpHandler进行页面静态化[自动生成html网页]+Entity Framework通过类创建数据库+EF删查)
- ASP.NET关于书籍详情和删除的Demo(HttpHandler进行页面静态化[自动生成html网页]+Entity Framework通过类创建数据库+EF删查)...
- ASP.NET中使用Entity Framework开发登陆注册Demo
- .NET(C#) Internals: .NET Framework中已使用的设计模式
- Asp.Net Web API 2第三课——.NET客户端调用Web API
- 微软.NET Framework cve-2017-8759 复现
- .net core 认证与授权(一)
- IIS 编译器错误消息: CS0016未能写入输出文件“c:WINDOWSMicrosoft.NETFrameworkv1.1.4322Temporary ASP.NET Filesroo
- Atitit ..Net Framework sdk 3.0 3.5 4.04.5 4.6 4.7 .net core版本新特性 v2 s22 1. 新特性来源于 down ms 官方网站1
- independentsoft.de/MSG .NET Framework Crack
- Spire.Office for .NET 7.9.2 国庆节放假
- Stimulsoft Reports.NET 2023.1.0 Crack
- .Net软件工程师必备面试题134道
- TX Text Control .NET Server for ASP.NET 31.0
- net core HTTP Error 500.31 - Failed to load ASP.NET Core runtime HTTP Error 500.30