红牛开发板模拟器简要说明_V1.0

简介: 文档名称红牛开发板模拟器简要说明_V1.0版本1.0作者叶帆日期2011-2-27历史 文档列表http://www.sky-walker.com.cn/MFRelease/YF_document_list.pdf 1、前言.NET Micro Framwork 除了简单易于开发外,还有一个比较有用的功能,那就是支持模拟器开发。

文档名称

红牛开发板模拟器简要说明_V1.0

版本

1.0

作者

叶帆

日期

2011-2-27

历史

 

文档列表

http://www.sky-walker.com.cn/MFRelease/YF_document_list.pdf

 

1、前言

.NET Micro Framwork 除了简单易于开发外,还有一个比较有用的功能,那就是支持模拟器开发。但是官方自带的模拟器是一个通用模拟器,不仅LCD和实际开发板有异同,就是按键的pin定义也是有区别的,更不要说一些LED等没有定义的功能了,这样在开发测试.NET Micro Framework应用程序时,还得依赖实际的开发板。

不过我们可以扩展官方的模拟器,根据需要我们可以定制和开发板尽可能相同的功能的模拟器(特别是pin脚的定义要统一起来),这样编写的代码就不用专门为了适应模拟器,而作特别处理了。

红牛开发板模拟器就是这方面的一个尝试,功能亦在不断扩展中

2、模拟器简介

2.1 模拟器运行环境

开发环境:Microsoft Visual Studio 2010

.NET Micro Framwork版本:V4.1

2.2 模拟器下载

模拟器:http://www.sky-walker.com.cn/MFRelease/Tools/YFEmulator_Redox.rar

开发板:http://item.taobao.com/item.htm?id=7117999726

2.3 模拟器安装

1)、解压后,把YFEmulator_Redox.exeYFEmulator_Redox.exe.emulatorconfig等文件拷贝到任意目录。

2)、直接运行YFEmulator.exe即完成注册。

3)、在工程属性中打开“.Net Micro Framework”操作面板,Transport选择“Emulator”,Device选择"YFSoft Emulator for Redox"即可使用。

4)、对应的.NET Micro Framework 4.1 SDKV4.1.2821.0

    下载地址:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=CFF5A7B7-C21C-4127-AC65-5516384DA3A0

2.4 模拟器运行界面

1)、按钮和LED pin脚定义和实际开发板完全一样;

2)、NandFlash的相关操作,未来也将和实际开发板统一;

3)、将提供新的TinyGUI库,以支持模拟器显示;

4)、后续开发的库,将尽可能考虑支持模拟器操作;

3、模拟器测试

3.1 测试代码

public static void Main()

        {

            //wakeup - PA0  tamper- PC13  user1-PA8 user2- PD3  

            Cpu.Pin[] Button_Pins = new Cpu.Pin[] { (Cpu.Pin)GPIO_NAMES.PA0, (Cpu.Pin)GPIO_NAMES.PC13, (Cpu.Pin)GPIO_NAMES.PA8, (Cpu.Pin)GPIO_NAMES.PD3 };

            //LED

            Cpu.Pin[] LED_Pins = new Cpu.Pin[] { (Cpu.Pin)GPIO_NAMES.PF6, (Cpu.Pin)GPIO_NAMES.PF7, (Cpu.Pin)GPIO_NAMES.PF8, (Cpu.Pin)GPIO_NAMES.PF9, (Cpu.Pin)GPIO_NAMES.PF10 };

            InterruptPort[] button = new InterruptPort[Button_Pins.Length];

            for (int i = 0; i < button.Length; i++)

            {

                button[i] = new InterruptPort(Button_Pins[i], true, Port.ResistorMode.PullDown, Port.InterruptMode.InterruptEdgeBoth);

                button[i].OnInterrupt += new NativeEventHandler(Program_OnInterrupt);

            }

            OutputPort[] led = new OutputPort[LED_Pins.Length];

            for (int i = 0; i < led.Length; i++)

            {

                led[i] = new OutputPort(LED_Pins[i], false);

            }

            while (true)

            {

                for (int i = 0; i < led.Length; i++)

                {

                    led[i].Write(!led[i].Read());

                }

                Thread.Sleep(1000);

            }

        }

        static void Program_OnInterrupt(uint data1, uint data2, DateTime time)

        {

            Debug.Print(data1.ToString() + ":" + data2.ToString());

            System.TinyGUI.Graphics.Print(data1.ToString() + ":" + data2.ToString()+"/r/n");

        }

3.2在模拟器中的测试效果

 

3.3在实际设备中的测试效果

 

 

4、小结

   其实不仅仅LCD、按键和LED可以模拟,串口、网口、SPII2C等也是可以模拟的,后续,我们根据实际的必要,可以开发出周边模块的模拟器,这样就可以实现花最少的代价,做最有效率的工作。

   相关文章引申阅读:

  1)、支持横竖屏切换的.Net Micro Framework模拟器

   http://blog.csdn.net/yefanqiu/archive/2009/12/06/4950466.aspx

  2)、Micro Framework 3.0模拟器改造

   http://blog.csdn.net/yefanqiu/archive/2009/01/31/3855650.aspx

  3)、.Net Micro Framework研究—带IO的模拟器

   http://blog.csdn.net/yefanqiu/archive/2007/12/30/2005462.aspx

  4)、.Net Micro Framework研究—带I2C总线的模拟器

   http://blog.csdn.net/yefanqiu/archive/2007/12/31/2006370.aspx

5)、.Net Micro Framework研究—带AD的模拟器

 http://blog.csdn.net/yefanqiu/archive/2007/12/31/2006197.aspx

6)、.Net Micro Framework研究—模拟器直接运行MF程序

http://blog.csdn.net/yefanqiu/archive/2008/01/02/2010225.aspx

7)、.Net Micro Framework研究—模拟器改造

http://blog.csdn.net/yefanqiu/archive/2007/10/31/1860020.aspx

8)、用模拟器零成本体验MF开发

http://blog.csdn.net/yefanqiu/archive/2008/07/16/2658204.aspx

相关文章
【51单片机】烧写教程:将代码下载到单片机中(图示&解析)
【51单片机】烧写教程:将代码下载到单片机中(图示&解析)
|
7月前
|
Ubuntu Shell 芯片
详细讲解移植u-boot.2022.10版本移植到开发板基本方法
详细讲解移植u-boot.2022.10版本移植到开发板基本方法
377 0
|
人工智能 物联网 Linux
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
1239 0
|
Ubuntu Linux 开发工具
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十一)第一次写驱动程序
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十一)第一次写驱动程序
278 1
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十一)第一次写驱动程序
|
芯片 内存技术
如何用SEGGER工具烧写程序,烧写地址详解
如何用SEGGER工具烧写程序,烧写地址详解
337 0
如何用SEGGER工具烧写程序,烧写地址详解
|
Ubuntu Linux 测试技术
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(下)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程
365 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(下)
|
Linux 芯片
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(中)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程
252 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(中)
|
Ubuntu Linux API
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(上)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程
294 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(上)
|
Linux 芯片
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十五)最简单的LED驱动程序
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十五)最简单的LED驱动程序
160 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十五)最简单的LED驱动程序