Transplantation of Embedded Operating System Windows CE.NET on S3C2410 Platform

Publisher:dong125612Latest update time:2013-03-30 Source: edmchina Keywords:Windows  CE.NET  S3C2410 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
    At present, there are many types of embedded microprocessors, and embedded operating systems need to support as many processors as possible, which requires the operating system to be customized for different processors.   

  This paper analyzes the characteristics of embedded operating system Windows CE. NET and uses the tool Platform Builder 4.2 to customize it on S3C2410 processor with ARM920T as the core.

  1 Windows CE system and Platform Builder 4.2
   
  Windows CE is a 32-bit, multi-threaded, multi-tasking embedded operating system launched by Microsoft. It is an embedded modular operating system designed by Microsoft specifically for information devices, mobile applications, embedded applications, etc. Users can select, combine and configure Windows CE. NET modules and components to create a user version of the operating system.


   
  Windows CE. NET is the successor of Windows CE 3.0, and its system composition is shown in Figure 1. Windows CE. NET provides a good real-time operating system for quickly building the next generation of intelligent mobile and small memory footprint devices. It has a complete operating system feature set and an end-to-end development environment, and includes everything needed for customized devices, such as networking capabilities, real-time performance, small memory footprint, multimedia, and Web browsing functions.

  Platform Builder 4.2 is an integrated development environment provided by Microsoft to Windows CE. NET developers to customize embedded operating systems based on the Windows CE. NET platform. It provides all the tools for designing, creating, compiling, testing and debugging Windows CE. NET operating system platforms. Developers can design and customize the kernel, select system features, and then compile and debug through an interactive environment. At the same time, developers can also use Platform Builder to develop drivers and application projects.

  2 Hardware Platform
   
  The HHARM9-EDU development platform is a platform for embedded system teaching developed by Huaheng Company. It consists of a core board and a base board. The core board integrates the Samsung S3C2410 processor, 16 M FLASH and 64 M SDRAM. Samsung's S3C2410 processor is a cost-effective, low-power, small, high-performance, and highly integrated microprocessor. It uses a 203 MHz ARM920T core, integrates 16 KB instruction cache and 16 KB data cache, and uses MMU to manage virtual memory. The LCD controller supports STN screen or FTT screen and supports NAND flash. The core board functional module is shown in Figure 2.

  3 Windows CE. NET system transplantation

  3.1 Migration Process
   
  Basically, the migration process of Windows CE. NET is the process of rewriting BSP. BSP, also known as board support package, is a software package that includes a startup program, OEM adaptation layer program (OAL), standard development board (SDB) and drivers for related hardware devices. BSP is the main part of the system based on the Windows CE. NET platform. The operating system migration steps are:

  1) Tailor the operating system, configure each component and modify related configuration files;

  2) Develop device drivers on the target device system and create customized CE operating system image files;

  3) Download the target file to the target device for debugging; [page]

  4) After customizing the operating system kernel, export the platform SDK for developing upper-level application software in Embedded Visual C++.
    
  The migration process is shown in Figure 3

  The development tool Platform Builder itself provides BSPs for multiple target boards. If the user's target board is the same as that provided by Platform Builder, then you only need to recompile and generate the corresponding system image and download it to the target board. However, in actual situations, the processor is more likely to be the same, but the peripheral device interfaces on the board are different. In this case, you only need to modify the BSP of the same or similar processor in Platform Builder to generate a new BSP, which can greatly reduce the R&D cycle of the BSP.

  3.2 BSP development based on S3C2410 board
   
  The development of BSP mainly includes the development of Bootloader, OAL, local driver and the configuration of some files.

  1) Bootloader is a small program that runs before the operating system kernel runs. Through this small program, the hardware devices can be initialized and the memory space mapping can be established, so as to bring the system's hardware and software environment to a suitable state, so as to prepare the correct environment for the final call to the operating system kernel. It is stored in the non-volatile storage medium of the target platform, such as ROM or Flash. The ppcboot provided by Huaheng Company is used in this transplantation.

  2) OAL is a code layer located between the Windows CE kernel and the target hardware platform in the device vendor adaptation layer. The purpose of developing OAL is to realize the communication between the Windows CE. NET kernel and the target hardware, including processing interrupts, timers, etc.

  3) Device Drivers refers to a software module that can manage virtual or physical devices, protocols, services, etc. The operating system directly interacts with the hardware through the driver. The specific steps of device driver design are to create a new platform through Platform Builder, and then insert and remove drivers according to the needs of the hardware platform. The files that need to be modified are Platform. Bib, Platform. reg and driver source code. Taking the LCD driver source code as an example, according to Huaheng's reference materials, the original driver of PB needs to be modified as follows:

  WORD TempBuffer[241][320]; // changed buffer size
S3C2410DISP::S3C2410DISP(void)
{
RETAILMSG(0,(TEXT("++S3C2410DISP::S3C2410DISP ")));
//setup up display mode related constants
m_nScreenWidth=240; //screen width changed from 480 to 240
m_nScreenHeight=320; //screen height changed from 640 to 320
m_colorDepth=16;
m_cbScanLineLength=m_nScreenWidth*2;
m_FrameBufferSize=m_nScreenHeight*m_cbScanLineLength;
//memory map register access window, frame buffer, and program LCD controller InitializeHardware();
   
  The register settings are set by the InitDisplay function in D:WINCE420PLATFORMsmdk2410KERNELHALcfw. c. The driver obtains the address of the framebuffer by reading the value of the corresponding key in the registry.
[HKEY_LOCAL_MACHINEDriverS3C2410CONFIG]
"DisplayDll"="s3c2410disp.dll"
"LCDVirtualFrameBase"=dword:ac100000
"LCDPhysicalFrameBase"=dword:30100000

  4) Configuration of platform files. The configuration files include source code configuration files and operating system image configuration files. The source code configuration file mainly tells the Build tool the paths, C or Visual C++ source files, and what type of binary files to generate, including Dirs, Sources, Makefile, etc. The operating system image configuration file is mainly used to generate operating system images for the Makeimag tool, including. bib (binary image file),. reg (registry file),. dat (file system description file),. db (database file). In this article, the source code configuration file only makes corresponding modifications to the configuration file.
   
  Using the BSP generated above, create a new platform through Platform Builder. This article directly selects the Mobile Handheld platform, and then selects according to needs. Finally, get NK under WINCE42OPUBLICplatformRelDirSAMSUNG_SMDK2410_ARMV4Release. bin, compress it and burn it into Flash. At the same time, export the platform SDK for developing applications on EVC.

  3.3 Debugging the operating system image on the target device
   
  The development board and PC can download the operating system image through the serial port, Ethernet and JTAG/BDM. In this article, the development board is connected to the PC through the network cable and serial port cable, the hyperterminal is set up, and finally the system runs on the development board.

  4 Conclusion
   
  This article briefly introduces the transplantation process of Windows CE. NET on HHARM9-EDU. It is also of reference value for other processor platforms. The transplantation of Windows CE. NET on different hardware platforms is mainly the process of modifying BSP according to the corresponding hardware. The design of the driver is one of the keys to building BSP. In the absence of new peripherals, the design of the driver can be modified based on the source code provided by PB. In the case of new hardware devices, it must be rewritten.

References:

[1]. ARM920T datasheet http://www.dzsc.com/datasheet/ARM920T_139814.html.
[2]. ROM datasheet http://www.dzsc.com/datasheet/ROM+_1188413.html.

Keywords:Windows  CE.NET  S3C2410 Reference address:Transplantation of Embedded Operating System Windows CE.NET on S3C2410 Platform

Previous article:Development of pile foundation testing instrument based on embedded system
Next article:A wireless router based on GPRS/CDMA 1X

Recommended ReadingLatest update time:2024-11-16 16:33

s3c2410 storage system
1 SDRAM addressing: The board uses a modern sdram chip 4M×16b×4Bank, which is 32MB. It should have 25 address lines, but the chip only provides 13 address lines, 2 bank select lines (BA0, BA1), and two chip select signals. How to address it? Answer from: http://www.52rd.com/Blog/Archive_Thread.asp?SID=11206 Let's tak
[Microcontroller]
Huge changes in the PC industry! Windows 10 will natively support Android apps next year. Is Microsoft really panicking?
The integration of computer and mobile application ecosystems will become a trend.   In the past six months, compared with Apple's rapid progress, Microsoft seems to be too unenterprising.   Especially its Windows 10.   You know, in less than half a year, Apple has achieved the most significant update in Mac history
[Embedded]
Huge changes in the PC industry! Windows 10 will natively support Android apps next year. Is Microsoft really panicking?
Energy dispersive X-ray fluorescence spectrometer based on S3C2440
X-ray fluorescence analysis is a fast, accurate and economical multi-element analysis method . At present, X-ray fluorescence analysis technology has been widely used in geology, metallurgy, chemical industry, materials, petroleum, medicine and other fields, especially energy dispersive X-ray fluorescence (EDXRF) sp
[Microcontroller]
Design of electronic control throttle based on ARM-Linux of Samsung S3C2410
  introduction   The cruise control system (CCS) was developed in the 1960s and is also known as a constant speed driving system. When the cruise control system is working, the ECU determines the operating status of the car based on the signals sent by various sensors, and automatically adjusts the throttle opening th
[Microcontroller]
Design of electronic control throttle based on ARM-Linux of Samsung S3C2410
U-Boot transplantation process tutorial based on S3C2410 embedded device
S3C2410 is a cost-effective microprocessor launched by Samsung for embedded systems. It is a 16/32-bit RISC processor based on the ARM9TDMI core and operates at a main frequency of 200MHz. Since the existing Linux system has introduced the concept of device files, reading and writing serial ports can be operated like
[Microcontroller]
U-Boot transplantation process tutorial based on S3C2410 embedded device
Engineering seismograph solution based on S3C2410A
1 Introduction With the development of embedded microprocessors and embedded operating systems, embedded systems have been widely used in many fields such as communications, control and consumer electronics. Embedded systems are usually embedded CPUs for specific applications. The biggest difference from genera
[Microcontroller]
Engineering seismograph solution based on S3C2410A
Application design based on implementing Windows CE.NET on S3C2410 processor platform
At present, there are many types of embedded microprocessors. The embedded operating system must support as many processors as possible, which requires the customization of the operating system for different processors. This article analyzes the characteristics of the embedded operating system Windows CE.NET, and us
[Microcontroller]
Application design based on implementing Windows CE.NET on S3C2410 processor platform
S3C2410 (ARM9) startup method
1. Nand Flash boot In order to boot from Nand Flash, S3C2410 is configured with a 4KB internal SRAM buffer called Steppingstone. When the system is configured to boot from Nand Flash (configuration is set by hardware engineers on the circuit board), the Nand Flash controller will automatically load the first 4KB cod
[Microcontroller]
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号