NET+OS 6.1 Training. BSP NET+OS 6.1 BSP Initialization Memory map New features Debugging Porting Issues.

Slides:



Advertisements
Similar presentations
Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
Advertisements

Interrupts, Timer, and Interrupt Controller
Net+OS Initialization Initialization Sequence Initialization Routine Roles ROM Image Compression/Decompression.
ARM development environment Modified Content Philips LPC2106 ARM chip ARM target board PSPad customised development environment Troubleshooting.
Travis Reed Todd Hummel Kwan-Truc. Concept USB 1.1 SPI b.
EET 450 Chapter 2 – How hardware and Software Work Together.
PV Watchdog Web-Enabled Photovoltaic System Monitor Art Barnes Austin Fisher Ryan Mann Josh Stone.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
29 April 2005 Part B Final Presentation Peripheral Devices For ML310 Board Project name : Spring Semester 2005 Final Presentation Presenting : Erez Cohen.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
Programming I/O for Embedded System. Page 2 Overview Basis: A DE2 Computer Architecture Parallel I/O 7-Segment Display Basic Manipulating 7-Segment Display.
WANs and Routers Routers. Router Description Specialized computer Like a general purpose PC, a router has:  CPU  Memory  System Bus Connecting Internal.
1-1 SYS Module System Clocks FXTAL BCLK Reset Circuit Reset Conditions Bootstrap Initialization.
NS Training Hardware. System Controller Module.
M16C/Tiny SKP Tutorial 1 Software Development Process using HEW4
Introduction Purpose Objectives Content Learning Time
1 Semester 2 Module 2 Introduction to Routers Yuda college of business James Chen
Shell and Flashing Images Commands and upgrades. RS-232 Driver chip – ST3232C Driver chip is ST3232C Provides electrical interface between UART port and.
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
328eForth for Arduino Uno C. H. Ting February 16, 2012 SVFIG.
The GreenHills Tool Chain
Getting Started Installing GreenHills and Net+OS Setting up the Development Board Building the Sample Application.
AT91SAM9261-EK WinCE 6.0 DEMO ATMEL AT91 Application & Support Group
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
Computer System Laboratory
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
NET+OS 6 BSP How and why it was restructured Changes to memory map New features How to port to custom hardware.
NET+OS 6.1 Training. Introduction What is Net+Os? In Circuit Emulator (Raven) Ethernet Dev.-Driver GPIO PHY Ser. DD. OS (ThreadX) IP, ICMP, IGMP, PPP,
DOS  In the 1980s or early 1990s, the operating system that shipped with most PCs was a version of the Disk Operating System (DOS) created by Microsoft:
AT91SAM9261-EK WinCE 5.0 DEMO ATMEL AT91 Application & Support Group Version 1.O February 2007.
2006 Chapter-1 L3: "Embedded Systems - Architecture, Programming and Design", Raj Kamal, Publs.: McGraw-Hill, Inc. 1 Hardware Elements in the Embedded.
NETOS5.1 Training NS7520 Overview NETOS5.1 Overview BSP Changes BSP & Board Configurations Build File Changes for GHS Makefile Changes for GNU Linker Files.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Porting Operating Systems Phan Duy Hùng (PhD) ES Lecturer – Hanoi FPT University.
GLAST Large Area Telescope Instrument Flight Software Flight Unit Design Review 16 September 2004 Primary Boot Code (PBC) D. Wood Naval Research Laboratory.
Debugging an Application Lab. Build/Debug Process A start Load Closest Sample “debug” into MULTI editor Cut and Paste Changes into Sample Build Modified.
Ethernet Driver Changes for NET+OS V5.1. Design Changes Resides in bsp\devices\ethernet directory. Source code broken into more C files. Native driver.
1 uClinux course Day 4 of 5. 2 Author: D L Johnson CPU Architectures.
NIOS II Ethernet Communication Final Presentation
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Module 6: Debugging a Windows CE Image.  Overview Debug Zones IDE Debug Setup IDE Debug Commands Platform Builder Integrated Kernel Debugger Other Debugging.
S&IP Consortium Course Material Standard I/O and Core Peripherals Speaker: Tian-Sheuan Chang July, 2004.
GLAST LAT ProjectDOE/NASA Peer Review, March 19-20, 2003 GLAST Large Area Telescope: Electronics, Data Acquisition & Instrument Flight Software Flight.
SOC Consortium Course Material Core Peripherals National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
SAM9260-EK WinCE DEMO AT91 SAM9 Product Group. Version 1.0 October 2006.
SAM9260-EK WinCE DEMO AT91 SAM9 Product Group. Version 1.0 October 2006.
1.4 Hardware Review. CPU  Fetch-decode-execute cycle 1. Fetch 2. Bump PC 3. Decode 4. Determine operand addr (if necessary) 5. Fetch operand from memory.
AT91 C-startup. 2 For reasons of modularity and portability most application code for an embedded application is written in C The application entry point.
ChibiOS/RT Demo A free embedded RTOS
NET+OS 6.1 Training. GPIO APIs NET+OS 6.1 Signal Multiplexing System tradeoffs affecting pin count at design-time. –NS9750 unit cost reduced by conserving.
Yared Woldekiros Western Washington university WEB ENABLE HOME AUTOMATION.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course demonstrates the Project Generator function.
Using Linux with ARM Tutorial #3.
DATE S. S.. Sandstone The sandstone carries out the following tasks: 1. Set up target platform environment, 2. Load a bootable image into memory, 3. Relinquish.
Cisco 2 - Routers Perrine. J Page 16/26/2016 Chapter 2 Cisco IOS Software Cisco’s operating system is called Cisco Internetwork Operating System (IOS)
Chap. 4 ARM Boot Loader Internals. 2 S3C2500 ARM940T Core module ARM9TDMI CoreIC.
Introduction to networking (Yarnfield) Configure a router.
Overview A) Power on or reset B) 1st stage boot loader C) 2nd stage boot loader D) Operate system.
Chapter Objectives In this chapter, you will learn:
Interrupts and signals
MCF5249 Software Examples Bootable example code for the MCF5249
The PCI bus (Peripheral Component Interconnect ) is the most commonly used peripheral bus on desktops and bigger computers. higher-level bus architectures.
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Configuring a Router Module 3 Semester 2.
Today’s agenda Hardware architecture and runtime system
NetSilicon & Digi Confidential
Lecture9: Embedded Network Operating System: cisco IOS
Computer System Laboratory
Computer System Laboratory
Lecture9: Embedded Network Operating System: cisco IOS
Presentation transcript:

NET+OS 6.1 Training

BSP

NET+OS 6.1 BSP Initialization Memory map New features Debugging Porting Issues

Overall view of the BSP Identify and process Reset types: –hardware reset, –power-up reset, –software reset, –software restart, –wakeup reset from sleep mode Perform Memory test. Load LED and Simple Serial driver for debugging before the kernel and other device drivers are loaded. Set C library startup from GreenHills and GNU. Load the device drivers; Ethernet, DMA, PCI, I2C, USB, LCD).

BSP Source Code Initialization code is in NETOS\src\bsp\arm9init directory. Platform code is in NETOS\src\bsp\platforms\ns9750_a. Common code is in NETOS\src\bsp\common (shared with different platforms). Device drivers are in NETOS\src\bsp\devices directory. Bootloader code is in NETOS\src\bsp\bootloader directory. Profiler code is in NETOS\src\bsp\profiler directory. Include files are in NETOS\h\arm9, NETOS\src\bsp\h, NETOS\h, and NETOS\src\bsp\platforms\ns9750_a directories. Register definitions are in NETOS\h\arm9 directory. Configurable parameters are defined in netos\src\ \bsp\platforms\ns9750_a \bsp.h.

Linker Script Directives Linker scripts determine memory layout image.ldr, rom.ldr (GNU) image.lx rom.lx (GHS) customize.lx and customize.ldr (in platforms directory), adjust values for your application Sections added for ttb table and non-cache region NON_CACHE_MALLOC_SIZE

Building the BSP Build from netos/src/bsp directory In GNU platform specified in command line to make file –make PLATFORM=platform –In GNU Warnings are now treated as errors and stricter warning checking is enabled (-Wall) In GHS platform open netCentral.bld, select standard_bsp.bld

Reminder to …. Modify defines in bsp.h to enable drivers We now have four serial ports, two are UART and one is SPI and one is not connected. The boards default to support USB host Only big endian is supported There is no EEPROM support for NVRAM

Initialization and Start up Hardware initialization Software initialization Memory map Device driver initialization Exception and interrupt handler setup Interfacing with higher level modules: RTOS, TCP/IP, ACE, and Application Code

Initialization Flow Start Reset.s Init.s ncc_init.c main() tx_kernel_enter tx_application_ define netosStartup root.c [applicationStart()] Your application code

Hardware Initialization Reset_Handler: First routine to be executed Identify and process reset types (hardware reset, power-up reset, software reset, software restart, and wakeup reset from sleep mode). Initializes SDRAM on CS4 using the values from settings.s (RAS/CAS) USB configuration and Bbus rest Calls nccInit using a small stack on CS4 Jumps to C library Reset_Handler.doc

Initialization: nccInit Check to see if we are in the debugger or if a software restart occurred. Call setupSimpleSerial Call customizeSetupGPIO Call customizeReadPowerOnButtons Call customizeMemoryTest Programs chip selects (Base and Mask)

Initialization: (cont) nccInit: Check to see if the application will fit into RAM (linker directives) ncc_init.doc

Memory Map Address RangeSizeSystem Functions 0x – 0x0FFF FFFF256 MBSystem Memory Chip Select 4 Dynamic Memory 0x – 0x1FFF FFFF256 MBSystem Memory Chip Select 5 Dynamic Memory 0x – 0x2FFF FFFF256 MBSystem Memory Chip Select 6 Dynamic Memory 0x – 0x3FFF FFFF256 MBSystem Memory Chip Select 7 Dynamic Memory 0x – 0x4FFF FFFF256 MBSystem Memory Chip Select 0 Static Memory 0x – 0x5FFF FFFF256 MBSystem Memory Chip Select 1 Static Memory 0x – 0x6FFF FFFF256 MBSystem Memory Chip Select 2 Static Memory 0x – 0x7FFF FFFF256 MBSystem Memory Chip Select 3 Static Memory

Memory map continued 0x – 0x8FFF FFFF256 MBPCI Memory 0x – 0x9FFF FFFF256 MBB-Bus Memory 0xA – 0xA00F FFFF1 MBPCI IO 0xA – 0xA01F FFFF1 MBPCI CONFIG_ADDR 0xA – 0xA02F FFFF1 MBPCI CONFIG_DATA 0xA – 0xA03F FFFF1 MBPCI Arbiter 0xA – 0xA04F FFFF1 MBBBUS-to-AHB Bridge 0xA – 0xA05F FFFF1 MBJBIG 0xA – 0xA06F FFFF1 MBEthernet Communication Module 0xA – 0xA07F FFFF1 MBMemory Controller 0xA – 0xA08F FFFF1 MBLCD Controller 0xA – 0xA09F FFFF1 MBSystem Control Module 0xA0A – 0xFFFF FFFF1526 MBReserved

SDRAM Memory settings Settings.s contains the memory controller register settings for SDRAM. (not in debugger) If you use different memory parts you must modify this file (PC133). RAS and CAS Delay Registers Dynamic memory configuration registers

SRAM (flash) Table defined in bsp.c defines the register settings for SRAM parts SRAM memory configuration registers, specifies 16 bit or 32-bit. Static memory Read Delay registers

Initialization : Main() execute POST SetupVector Table Enable MMU (data cache) DDI First Level Initialization Start threadX main.doc

Initialization: Loading RTOS Set up FIQ and IRQ stack. Create threadx (system) timer thread (stack size 1024, priority is 0). Call BSP routine to set up system timer clock and timer 2 and to create root thread (stack size and priority are configurable in appconf.h file) and start it. Start RTOS scheduler. threadx_init.doc

Root Thread: netosStartup() Load device drivers Read parameters from NVRAM and configure dialog. Call netosstartTCP() to initialize and start TCP/IP stack and ACE. Set up real time source and install time zone. Start up application. root_thread.doc