This presentation is Part 2 of 3 illustrating ARM® Cortex™ M boot sequence. Hands on illustration uses EFM®32 Zero Gecko starter kit based on Cortex M0+ core from Silicon Labs.
Simplicity Studio IDE from Silicon Labs was used to create a sample project (Bundled with Simplicity Studio), set breakpoints and inspect various entry points and other points of interest to get a introductory look at Cortex boot sequence
This document provides an overview of CMSIS (Cortex Microcontroller Software Interface Standard) and Cortex M bootup fundamentals. It discusses the following:
- CMSIS modules like CMSIS-Core, CMSIS-SVD, CMSIS-Driver API that standardize interfaces for Cortex M microcontrollers.
- Cortex M system memory map including code, SRAM, peripheral, and system control spaces. The system control space contains registers for clock control, NVIC, SysTick etc.
- Cortex M bootup process which involves initializing the core, peripherals, copying code to RAM, and setting up the runtime environment.
- Processor modes of handler and thread, and privilege
ARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_ArchitectureRaahul Raghavan
This is part 3 / 3 presentation on ARM® Cortex™ Bootup,CMSIS and debugging. In this presentation the following topics are being discussed
ARM® Cortex M debug architecture
Introduction to Debugging
Capabilities & Debug Components (Resources / Memory Map / ROM Table)
ARM® Debug Interface Architecture
CMSIS DAP
EFM®32 On board Segger J-Link debugger
AAME ARM Techcon2013 004v02 Debug and OptimizationAnh Dung NGUYEN
This document discusses software debug and optimization techniques for ARM Cortex-M microcontrollers. It covers the following key points in 3 sentences:
The document discusses various debug tools and components used for ARM Cortex-M microcontrollers, including the Keil MDK development suite, debug hardware interfaces, and the Flash Patch and Breakpoint, Data Watchpoint and Trace, and Instrumentation Trace Macrocell components. It also covers compiler configuration and optimization techniques in ARM's compiler such as setting the optimization level and architecture, using volatile variables properly, and enabling instruction scheduling. The document provides an overview of debug modes, breakpoints, and trace features supported by the Cortex-M architecture as well as the various physical debug interfaces that can
The document discusses techniques for optimizing code for multi-processor systems. It covers topics like multi-processing support using symmetric and asymmetric multi-processing, interrupt handling using the Generic Interrupt Controller, power saving modes like standby, shutdown and dormant, and coding techniques to improve performance like avoiding pointer aliasing, optimizing loops, and using the restrict keyword. Specific examples are provided to illustrate optimizations for loops, pointer usage, and entering low power modes.
AAME ARM Techcon2013 006v02 Implementation DiversityAnh Dung NGUYEN
This document discusses various Cortex-M series processors including the Cortex-M0, Cortex-M0+, Cortex-M3, and Cortex-M4. It describes their architecture, configuration options, and debug features. The Cortex-M0 is a 32-bit processor with optional debug and a 12-25K gate count. The Cortex-M0+ offers improvements like a 2-stage pipeline and optional MPU. The Cortex-M3 and M4 have additional options like an MPU and ETM. Debugging support includes breakpoints, watchpoints, and optional trace modules.
This document discusses developing code for ARM targets. It covers compilation tools like setting optimization levels and instruction set selection. It also discusses linking and libraries, including static vs dynamic libraries and the C library. The document outlines considerations for different target platforms like development boards and final hardware. It covers debugging methods, including invasive techniques like stopping execution and non-invasive performance monitoring.
The document provides an overview of ARM processor architectures. It discusses ARM's range of RISC processor core designs including early processors like ARM7TDMI and ARM9TDMI. It covers the evolution of architectures like ARMv6, ARMv7, and ARMv7-M. It provides details on Cortex processor families like Cortex-A, Cortex-R, and Cortex-M. It describes features of various Cortex processors including pipeline stages, memory systems, and instruction sets. The document is intended to introduce the reader to ARM architectures and processor families.
This document provides an overview of CMSIS (Cortex Microcontroller Software Interface Standard) and Cortex M bootup fundamentals. It discusses the following:
- CMSIS modules like CMSIS-Core, CMSIS-SVD, CMSIS-Driver API that standardize interfaces for Cortex M microcontrollers.
- Cortex M system memory map including code, SRAM, peripheral, and system control spaces. The system control space contains registers for clock control, NVIC, SysTick etc.
- Cortex M bootup process which involves initializing the core, peripherals, copying code to RAM, and setting up the runtime environment.
- Processor modes of handler and thread, and privilege
ARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_ArchitectureRaahul Raghavan
This is part 3 / 3 presentation on ARM® Cortex™ Bootup,CMSIS and debugging. In this presentation the following topics are being discussed
ARM® Cortex M debug architecture
Introduction to Debugging
Capabilities & Debug Components (Resources / Memory Map / ROM Table)
ARM® Debug Interface Architecture
CMSIS DAP
EFM®32 On board Segger J-Link debugger
AAME ARM Techcon2013 004v02 Debug and OptimizationAnh Dung NGUYEN
This document discusses software debug and optimization techniques for ARM Cortex-M microcontrollers. It covers the following key points in 3 sentences:
The document discusses various debug tools and components used for ARM Cortex-M microcontrollers, including the Keil MDK development suite, debug hardware interfaces, and the Flash Patch and Breakpoint, Data Watchpoint and Trace, and Instrumentation Trace Macrocell components. It also covers compiler configuration and optimization techniques in ARM's compiler such as setting the optimization level and architecture, using volatile variables properly, and enabling instruction scheduling. The document provides an overview of debug modes, breakpoints, and trace features supported by the Cortex-M architecture as well as the various physical debug interfaces that can
The document discusses techniques for optimizing code for multi-processor systems. It covers topics like multi-processing support using symmetric and asymmetric multi-processing, interrupt handling using the Generic Interrupt Controller, power saving modes like standby, shutdown and dormant, and coding techniques to improve performance like avoiding pointer aliasing, optimizing loops, and using the restrict keyword. Specific examples are provided to illustrate optimizations for loops, pointer usage, and entering low power modes.
AAME ARM Techcon2013 006v02 Implementation DiversityAnh Dung NGUYEN
This document discusses various Cortex-M series processors including the Cortex-M0, Cortex-M0+, Cortex-M3, and Cortex-M4. It describes their architecture, configuration options, and debug features. The Cortex-M0 is a 32-bit processor with optional debug and a 12-25K gate count. The Cortex-M0+ offers improvements like a 2-stage pipeline and optional MPU. The Cortex-M3 and M4 have additional options like an MPU and ETM. Debugging support includes breakpoints, watchpoints, and optional trace modules.
This document discusses developing code for ARM targets. It covers compilation tools like setting optimization levels and instruction set selection. It also discusses linking and libraries, including static vs dynamic libraries and the C library. The document outlines considerations for different target platforms like development boards and final hardware. It covers debugging methods, including invasive techniques like stopping execution and non-invasive performance monitoring.
The document provides an overview of ARM processor architectures. It discusses ARM's range of RISC processor core designs including early processors like ARM7TDMI and ARM9TDMI. It covers the evolution of architectures like ARMv6, ARMv7, and ARMv7-M. It provides details on Cortex processor families like Cortex-A, Cortex-R, and Cortex-M. It describes features of various Cortex processors including pipeline stages, memory systems, and instruction sets. The document is intended to introduce the reader to ARM architectures and processor families.
AAME ARM Techcon2013 003v02 Software DevelopmentAnh Dung NGUYEN
This document provides an overview of the Keil MDK development tools and environment for software development on ARM Cortex-M microcontrollers. It describes the μVision IDE, ARM compiler, debugger and other tools. It discusses the embedded development process, including considerations when moving from a development environment to a standalone application such as memory maps, application startup, and C library usage. It also covers optimization levels, language support, variable types, and default memory maps and C libraries provided by the tools.
The document discusses the AVR microcontroller architecture. It describes how AVR was developed in 1996 and derives its name from its creators. There are three families of AVR microcontrollers: TinyAVR for simpler applications, MegaAVR for moderate to complex applications, and XmegaAVR for high speed complex applications. The document then focuses on describing the features of the ATmega16 microcontroller, including its I/O ports, ADC, timers, memory, and communication interfaces.
AAME ARM Techcon2013 002v02 Advanced FeaturesAnh Dung NGUYEN
This document provides an overview of advanced ARM microcontroller features related to exceptions and interrupts. It discusses the ARM v7-M exception architecture, including nested prioritized interrupts, efficient interrupt handling through microcoded architecture, and built-in real-time operating system support. Key aspects covered include interrupt overhead reduction, interrupt arrival during state restore, exception types, processor mode usage, the nested vectored interrupt controller, microcoded interrupt mechanism, exception priorities and preemption, the vector table layout, reset and exception behavior, exception states, and interrupt service routine entry processing.
This document describes the system startup process for Cortex-M series processors. Upon reset, the processor will fetch the main stack pointer (MSP) and reset handler address from the vector table located at address 0x0. The reset handler will then execute in privileged thread mode. Interrupts are initially disabled. The MPU is also disabled initially, allowing access to all memory regions. The document then discusses setting up the vector table and performing additional initialization steps like MPU configuration in the reset handler.
Advanced debugging on ARM Cortex devices such as STM32, Kinetis, LPC, etc.Atollic
Learn more on advanced debugging of ARM Cortex devices, including how to analyse crashed system after a hard fault exception, SWV real-time event and data tracing, analysing execution history using ETM instruction tracing, dual-core debugging, kernel aware RTOS debugging, and more. Also, learn how to introducing bugs in the first place with static source code analysis (such as MISRA-C), code complexity analysis, and source code review meetings (peer review)
This document provides an overview of embedded systems, including definitions, components, and applications. It discusses the main types of embedded processors like microprocessors, microcontrollers, and DSPs. It also covers embedded system memories, development process, real-time aspects, and commonly used programming languages like assembly and C. The document is intended as an introduction to embedded systems.
AAME ARM Techcon2013 001v02 Architecture and Programmer's modelAnh Dung NGUYEN
The document provides an overview of the ARMv6-M and ARMv7-M architectures and programmer's model. It discusses key aspects including:
- The ARMv7-M programmer's model including registers, modes, exceptions and interrupts.
- ARM Cortex-M microcontrollers which implement the ARMv7-M architecture profile designed for microcontrollers.
- The ARMv7-M instruction set which implements the Thumb instruction set with Thumb-2 technology using a mix of 16-bit and 32-bit instructions.
The document discusses CPU architecture and microcontroller components. It describes how the CPU is divided into three main parts: the datapath, control unit, and instruction set. The datapath performs data processing, the control unit uses instructions to direct the datapath, and the instruction set is the programmer interface. It then focuses on explaining the datapath in more detail, including the arithmetic logic unit, register file, and their functions. Finally, it provides an overview of different microcontroller families that can be selected based on application requirements like I/O needs, memory, speed, and more.
This document provides information about the XPS 16550 UART, XPS Serial Peripheral Interface (SPI), XPS Timer/Counter, and associated tools. It describes the features and modules of each peripheral component, including diagrams of their top-level and detailed block designs. Key aspects like supported device families, register modules, and operating modes are summarized for each component.
This document provides an overview of ARM embedded systems, including the ARM processor architecture, instruction set, hardware components, and software stack. It describes the RISC design philosophy behind ARM and how its instruction set is optimized for embedded applications. It also discusses the ARM bus technology, memory, peripherals, boot code, operating systems, and common application areas for ARM processors like networking, automotive, mobile devices, and more.
The ARM processor architecture uses either reduced instruction set computing (RISC) or complex instruction set computing (CISC). RISC aims to improve performance by reducing the number of clock cycles per instruction through simpler instructions that execute in one cycle. CISC relies more on hardware for complex instructions. Memory in ARM systems is hierarchical, with cache memory closest to the processor core and secondary storage like hard drives further away. Peripherals allow input/output and are memory mapped through registers. Initialization code configures hardware and runs diagnostics before booting the operating system.
1: Interfacing using ARM Cortex M4 || IEEE SSCS AlexSC IEEE SSCS AlexSC
This document provides an overview of ARM architecture, including ARM Cortex-M4 and M3 specifications, and peripherals of the TM4C123GH6PM microcontroller. It discusses the history and development of ARM architecture, from its origins at Acorn Computers to the current licensing model. ARMv7 architecture profiles including A-Profile for application processors, R-Profile for real-time systems, and M-Profile for microcontrollers are also covered. Specific topics to be discussed include GPIO, ADC, interrupts, SPI, I2C, UART, DMA, and timer interfacing.
This document provides an overview of ARM-based microcontrollers and peripherals, focusing on the ARM Cortex-M3 and Cortex-M4 processors. It discusses the specifications and features of these processors, including their 32-bit architecture, pipeline design, memory system using AMBA buses, and interrupt handling using the Nested Vectored Interrupt Controller. It also summarizes the peripherals and features of the TM4C123GH6PM microcontroller, including its ARM Cortex-M4 core, memory interfaces, and peripherals like GPIO, UART, SPI, I2C, ADC and timers. An agenda is provided outlining topics like the Cortex-M processor family, Cortex-M
1) Embedded systems are computing systems that perform dedicated functions. They contain a processor, memory, and input/output components on a single chip or board.
2) There are two main implementations of embedded systems - system on chip (SOC) and system board (SB). SOC is cheaper and uses less power, while SB is more costly but allows for higher performance.
3) Microcontrollers are a type of SOC that contain a CPU, memory, and input/output control on a single chip. They are dedicated to specific tasks and commonly interface with sensors, switches, LEDs and other components.
Various processor architectures are described in this presentation. It could be useful for people working for h/w selection and processor identification.
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203Linaro
Session ID: SFO17-203
Session Name: Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Speaker: Fu Wei
Track: LEG
★ Session Summary ★
This presentation gives an updated RAS architecture on ARM64 base on RAS extension (in ARMv8.2), SDEI (Software Delegated Exception Interface), APEI, UEFI PI-SMM. Will talk about all the components of the new RAS architecture on ARM64, gives audience the current status and the next step of development.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-203/
Presentation:
Video: https://www.youtube.com/watch?v=NReFBzbeWi0
---------------------------------------------------
★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport
---------------------------------------------------
Keyword:
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
UML is used to model a model train controller system. The system includes a console to control up to 8 trains and receive input from knobs. It formats and transmits messages to a receiver on each train. The trains interpret the messages to control speed using pulse width modulation of the motor. Classes are defined for the console components like the knobs, transmitter, and formatter. Classes are also defined for the train components like the receiver, detector, motor interface and controller. Sequence diagrams show transmitting a control from the console and receiving a set speed command on the train.
Introduction to Processor Design and ARM ProcessorDarling Jemima
The document discusses computer architecture and the MU0 processor. It provides details on MU0's instruction set, which uses 1-address instructions and has a small set of instructions including LDA, STA, ADD, SUB, JMP, JGE, JNE, and STP. The document also explains MU0's design, which has a program counter, accumulator, instruction register, and arithmetic logic unit. It describes how MU0 executes sample instructions in a step-by-step fashion.
Este documento analiza el evangelio del domingo sobre Jesús como rey ante Pilatos. Aunque parezca un contrasentido, Jesús se presenta como un reo ante Pilato y no como un rey poderoso. Jesús explica que su reino no es de este mundo y que él vino no a dominar sino a liberar a la humanidad de la esclavitud del pecado a través de su amor.
Edwin Arturo Chuchon Luque is a resident of Feliz Todos Santos. The document appears to be related to Edwin Arturo Chuchon Luque, who resides in the town of Feliz Todos Santos.
AAME ARM Techcon2013 003v02 Software DevelopmentAnh Dung NGUYEN
This document provides an overview of the Keil MDK development tools and environment for software development on ARM Cortex-M microcontrollers. It describes the μVision IDE, ARM compiler, debugger and other tools. It discusses the embedded development process, including considerations when moving from a development environment to a standalone application such as memory maps, application startup, and C library usage. It also covers optimization levels, language support, variable types, and default memory maps and C libraries provided by the tools.
The document discusses the AVR microcontroller architecture. It describes how AVR was developed in 1996 and derives its name from its creators. There are three families of AVR microcontrollers: TinyAVR for simpler applications, MegaAVR for moderate to complex applications, and XmegaAVR for high speed complex applications. The document then focuses on describing the features of the ATmega16 microcontroller, including its I/O ports, ADC, timers, memory, and communication interfaces.
AAME ARM Techcon2013 002v02 Advanced FeaturesAnh Dung NGUYEN
This document provides an overview of advanced ARM microcontroller features related to exceptions and interrupts. It discusses the ARM v7-M exception architecture, including nested prioritized interrupts, efficient interrupt handling through microcoded architecture, and built-in real-time operating system support. Key aspects covered include interrupt overhead reduction, interrupt arrival during state restore, exception types, processor mode usage, the nested vectored interrupt controller, microcoded interrupt mechanism, exception priorities and preemption, the vector table layout, reset and exception behavior, exception states, and interrupt service routine entry processing.
This document describes the system startup process for Cortex-M series processors. Upon reset, the processor will fetch the main stack pointer (MSP) and reset handler address from the vector table located at address 0x0. The reset handler will then execute in privileged thread mode. Interrupts are initially disabled. The MPU is also disabled initially, allowing access to all memory regions. The document then discusses setting up the vector table and performing additional initialization steps like MPU configuration in the reset handler.
Advanced debugging on ARM Cortex devices such as STM32, Kinetis, LPC, etc.Atollic
Learn more on advanced debugging of ARM Cortex devices, including how to analyse crashed system after a hard fault exception, SWV real-time event and data tracing, analysing execution history using ETM instruction tracing, dual-core debugging, kernel aware RTOS debugging, and more. Also, learn how to introducing bugs in the first place with static source code analysis (such as MISRA-C), code complexity analysis, and source code review meetings (peer review)
This document provides an overview of embedded systems, including definitions, components, and applications. It discusses the main types of embedded processors like microprocessors, microcontrollers, and DSPs. It also covers embedded system memories, development process, real-time aspects, and commonly used programming languages like assembly and C. The document is intended as an introduction to embedded systems.
AAME ARM Techcon2013 001v02 Architecture and Programmer's modelAnh Dung NGUYEN
The document provides an overview of the ARMv6-M and ARMv7-M architectures and programmer's model. It discusses key aspects including:
- The ARMv7-M programmer's model including registers, modes, exceptions and interrupts.
- ARM Cortex-M microcontrollers which implement the ARMv7-M architecture profile designed for microcontrollers.
- The ARMv7-M instruction set which implements the Thumb instruction set with Thumb-2 technology using a mix of 16-bit and 32-bit instructions.
The document discusses CPU architecture and microcontroller components. It describes how the CPU is divided into three main parts: the datapath, control unit, and instruction set. The datapath performs data processing, the control unit uses instructions to direct the datapath, and the instruction set is the programmer interface. It then focuses on explaining the datapath in more detail, including the arithmetic logic unit, register file, and their functions. Finally, it provides an overview of different microcontroller families that can be selected based on application requirements like I/O needs, memory, speed, and more.
This document provides information about the XPS 16550 UART, XPS Serial Peripheral Interface (SPI), XPS Timer/Counter, and associated tools. It describes the features and modules of each peripheral component, including diagrams of their top-level and detailed block designs. Key aspects like supported device families, register modules, and operating modes are summarized for each component.
This document provides an overview of ARM embedded systems, including the ARM processor architecture, instruction set, hardware components, and software stack. It describes the RISC design philosophy behind ARM and how its instruction set is optimized for embedded applications. It also discusses the ARM bus technology, memory, peripherals, boot code, operating systems, and common application areas for ARM processors like networking, automotive, mobile devices, and more.
The ARM processor architecture uses either reduced instruction set computing (RISC) or complex instruction set computing (CISC). RISC aims to improve performance by reducing the number of clock cycles per instruction through simpler instructions that execute in one cycle. CISC relies more on hardware for complex instructions. Memory in ARM systems is hierarchical, with cache memory closest to the processor core and secondary storage like hard drives further away. Peripherals allow input/output and are memory mapped through registers. Initialization code configures hardware and runs diagnostics before booting the operating system.
1: Interfacing using ARM Cortex M4 || IEEE SSCS AlexSC IEEE SSCS AlexSC
This document provides an overview of ARM architecture, including ARM Cortex-M4 and M3 specifications, and peripherals of the TM4C123GH6PM microcontroller. It discusses the history and development of ARM architecture, from its origins at Acorn Computers to the current licensing model. ARMv7 architecture profiles including A-Profile for application processors, R-Profile for real-time systems, and M-Profile for microcontrollers are also covered. Specific topics to be discussed include GPIO, ADC, interrupts, SPI, I2C, UART, DMA, and timer interfacing.
This document provides an overview of ARM-based microcontrollers and peripherals, focusing on the ARM Cortex-M3 and Cortex-M4 processors. It discusses the specifications and features of these processors, including their 32-bit architecture, pipeline design, memory system using AMBA buses, and interrupt handling using the Nested Vectored Interrupt Controller. It also summarizes the peripherals and features of the TM4C123GH6PM microcontroller, including its ARM Cortex-M4 core, memory interfaces, and peripherals like GPIO, UART, SPI, I2C, ADC and timers. An agenda is provided outlining topics like the Cortex-M processor family, Cortex-M
1) Embedded systems are computing systems that perform dedicated functions. They contain a processor, memory, and input/output components on a single chip or board.
2) There are two main implementations of embedded systems - system on chip (SOC) and system board (SB). SOC is cheaper and uses less power, while SB is more costly but allows for higher performance.
3) Microcontrollers are a type of SOC that contain a CPU, memory, and input/output control on a single chip. They are dedicated to specific tasks and commonly interface with sensors, switches, LEDs and other components.
Various processor architectures are described in this presentation. It could be useful for people working for h/w selection and processor identification.
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203Linaro
Session ID: SFO17-203
Session Name: Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Speaker: Fu Wei
Track: LEG
★ Session Summary ★
This presentation gives an updated RAS architecture on ARM64 base on RAS extension (in ARMv8.2), SDEI (Software Delegated Exception Interface), APEI, UEFI PI-SMM. Will talk about all the components of the new RAS architecture on ARM64, gives audience the current status and the next step of development.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-203/
Presentation:
Video: https://www.youtube.com/watch?v=NReFBzbeWi0
---------------------------------------------------
★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport
---------------------------------------------------
Keyword:
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
UML is used to model a model train controller system. The system includes a console to control up to 8 trains and receive input from knobs. It formats and transmits messages to a receiver on each train. The trains interpret the messages to control speed using pulse width modulation of the motor. Classes are defined for the console components like the knobs, transmitter, and formatter. Classes are also defined for the train components like the receiver, detector, motor interface and controller. Sequence diagrams show transmitting a control from the console and receiving a set speed command on the train.
Introduction to Processor Design and ARM ProcessorDarling Jemima
The document discusses computer architecture and the MU0 processor. It provides details on MU0's instruction set, which uses 1-address instructions and has a small set of instructions including LDA, STA, ADD, SUB, JMP, JGE, JNE, and STP. The document also explains MU0's design, which has a program counter, accumulator, instruction register, and arithmetic logic unit. It describes how MU0 executes sample instructions in a step-by-step fashion.
Este documento analiza el evangelio del domingo sobre Jesús como rey ante Pilatos. Aunque parezca un contrasentido, Jesús se presenta como un reo ante Pilato y no como un rey poderoso. Jesús explica que su reino no es de este mundo y que él vino no a dominar sino a liberar a la humanidad de la esclavitud del pecado a través de su amor.
Edwin Arturo Chuchon Luque is a resident of Feliz Todos Santos. The document appears to be related to Edwin Arturo Chuchon Luque, who resides in the town of Feliz Todos Santos.
La tecnología en la sociedad contemporáneaRodrigo Juarez
Este documento define conceptos clave como sociedad, contemporáneo y tecnología. Explica que la tecnociencia modifica no solo la naturaleza sino también la sociedad y los seres humanos. Además, analiza cómo la ciencia y la tecnología están íntimamente ligadas al capitalismo y cómo la filosofía crítica de Andrew Feenberg argumenta que la tecnología debe estar al servicio de los seres humanos y no al revés.
Jonathan A. Mix is seeking a new career opportunity utilizing his 24 years of experience in technical, management, and customer service positions. He presents strong leadership, problem-solving, and teamwork skills. His background includes various roles in grocery store operations management, including stocking, ordering, hiring, and meeting sales goals. He is looking to leverage his qualifications to be an effective member of a new organization.
Relacion entre ciencia, cultura y tecnologíaRodrigo Juarez
La ciencia se basa en el método experimental y la obtención de conocimientos objetivos y verificables. La tecnología aplica los descubrimientos científicos para resolver problemas de manera racional. Aunque ciencia y tecnología necesitan del método experimental, la ciencia busca leyes universales mientras que la tecnología busca la eficiencia. La cultura incluye expresiones como el arte y las tradiciones, y está ligada a la tecnología como parte del ambiente humano.
Royal Enfield India Social Media Analysis Q4 2015Unmetric
Dive in to the social media metrics behind Royal Enfield's incredible social media presence. See the strategies that drove audience engagement, the content that outperformed everything else and how Royal Enfield engages over 39,655
followers on Twitter.
Modal verbs are used to express meanings like ability, permission, obligation, possibility, and necessity. There are three main categories of modal verbs: single concept modals which have one meaning, double concept modals which can have two related meanings, and modals used in the past. Examples of modal verbs include can, could, may, might, must, shall, should, will, would, and ought to. Modal verbs are followed by the base form of other verbs and do not conjugate or take tense markings.
Documento: El Salvador año político 2015-2016FUSADES
Documento El Salvador año político 2015-2016: En 2014, la Comisión del Departamento de Estudios Políticos (DEP) de la Fundación Salvadoreña
para el Desarrollo Económico y Social (FUSADES), acordó ampliar este documento, que desde 2010
presenta la apreciación anual del gobierno, incorporando otros hechos políticos relevantes en los
que no necesariamente participa el Presidente de la República o funcionarios del Ejecutivo, pero
que, dada su trascendencia, impactan o podrían impactar de manera notable al sistema político
salvadoreño.
Este documento proporciona información sobre las poblaciones en ecología. Define una población como un grupo de individuos de la misma especie que ocupan un área determinada e intercambian genes. Explica que una población está constituida por parámetros como la natalidad, mortalidad y migración. También describe factores que afectan a las poblaciones como la depredación, distribución, crecimiento y factores limitantes.
El documento trata sobre los diferentes tipos de contaminación ambiental como la contaminación atmosférica, del agua, del suelo, visual y por ruido. Explica cada tipo de contaminación, sus causas principales y sus efectos en la salud y el medio ambiente.
Tailoring your tone. Charity content marketing conference, 28 April 2016CharityComms
Fiona Callister, head of global media, WaterAid
Visit the CharityComms website to view slides from past events, see what events we have coming up and to check out what else we do: www.charitycomms.org.uk
A project report on advertising effectivenessProjects Kart
This document discusses advertising, including its objectives, types, features, functions and benefits. It provides definitions of advertising from various experts and outlines two main types - product advertising which promotes specific goods/services, and institutional advertising which builds company image. The objectives of advertising are to introduce new products, remind customers, combat competitors and more. Features include being a mass communication, paid for by an identified sponsor. Functions are promoting sales, research, education. Benefits include cheaper prices through mass production, stimulating demand, and raising living standards.
U-Boot is an open source boot loader that initializes hardware and loads operating systems. It supports many CPUs and boards. The boot process involves a pre-relocation phase where U-Boot initializes hardware and copies itself to RAM, and a post-relocation phase where it finishes hardware initialization and loads the kernel or operating system. Debugging can be done before and after relocation by setting breakpoints and examining memory.
Computer Organization : CPU, Memory and I/O organizationAmrutaMehata
This document provides information on CPU, memory, and I/O organization. It begins with an overview of the main components of a computer including the processor unit, memory unit, and input/output unit. It then describes the CPU in more detail including the arithmetic logic unit, control unit, and CPU block diagram. The document discusses the system bus and its various lines. It also covers CPU registers, instruction cycles, and status and control flags. The document provides an overview of instruction set architecture and compares RISC and CISC processor designs.
Low-cost microcontrollers are being used more and more often in embedded applications that previously may have used a microprocessor. Microcontrollers often run a real-time operating system (RTOS) rather than a full operating system like Linux. In this webinar we introduce FreeRTOS, a popular RTOS for microcontrollers that has been ported to 35 microcontroller platforms.
This document provides an introduction and overview of embedded systems and embedded system design. It discusses the following key points in 3 sentences:
1. It defines embedded systems and lists their essential components as well as characteristics including low cost, low power usage, and small size.
2. It discusses the requirements of embedded microcontroller cores including memory, ports, timers, interrupts, and serial data transfer standards to interface with real-world peripherals.
3. It also covers embedded programming, real-time operating systems, example applications, and textbooks on embedded systems design.
The document provides an overview of a presentation on kernel auditing research, including:
- Three parts to the presentation covering kernel auditing research, exploitable bugs found, and kernel exploitation.
- Audits were conducted on several open source kernels, finding over 100 vulnerabilities across them.
- A sample of exploitable bugs is then presented from the audited kernels to provide evidence that kernels are not bug-free and vulnerabilities can be relatively simple to find and exploit.
Summer training embedded system and its scopeArshit Rai
CETPA INFOTECH PVT LTD is one of the IT education and training service provider brands of India that is preferably working in 3 most important domains. It includes IT Training services, software and embedded product development and consulting services.
http://www.cetpainfotech.com
Summer training embedded system and its scopeArshit Rai
CETPA INFOTECH PVT LTD is one of the IT education and training service provider brands of India that is preferably working in 3 most important domains. It includes IT Training services, software and embedded product development and consulting services.
Week1 Electronic System-level ESL Design and SystemC Begin敬倫 林
This document provides an introduction and overview of electronic system level (ESL) design using SystemC. It begins with background on ESL design basics, system on chip design flows, and SystemC. It then provides 3 examples of SystemC code: a counter, traffic light, and simple bus. The counter example shows a basic module with clocked process. The traffic light demonstrates a finite state machine. The bus example illustrates an interface, master/slave devices, and memory mapped components communicating over a bus. Overall, the document serves as an introductory tutorial for designing and modeling electronic systems using the SystemC language.
This document provides an overview of using STM32 microcontrollers and the ARM Cortex-M architecture. It discusses the different Cortex cores from ARM, then focuses on the Cortex-M family. It introduces the STM32F4 chip and resources for documentation. It explains concepts like memory mapping, peripherals, GPIO configuration, and provides an example of configuring USART communication. The document also mentions CMSIS for hardware abstraction and the FreeRTOS real-time operating system.
STMicroelectronics provides the STM32L4 family of low-power
microcontrollers based on the ARM Cortex M4 architecture. This project uses the STM32L476RG microcontroller as the core piece for the management of a tank water-level & temperature monitoring system. For the detecting the tank water-level is used the HCSR04 ultra-sonic ranging device
whereas for the temperature is used the water-proof DS18B20 thermometer which goes immersed below the water. The system also includes an U-Blox NEO-6M GPS receiver which keeps track of the location where the system is operating. In order to carry out the development tasks it was used the
STM32CubeMX framework and the System Workbench 4 IDE which provide an easy & professional environment. It was taken into advantage the several microcontroller capabilities such as the different clock sources, the UART interfaces and the management of different general input/output ports among others in order to make a correct system configuration. The
first section of this work makes a description of the microcontroller & the project general structure. The second section describes the GPS module. The third section explains the temperature module. The fourth section addresses
the water-level module, and finally the fifth section describes the implementation of a system terminal for interacting with the user.
This document discusses building a virtual platform for the OpenRISC architecture using SystemC and transaction-level modeling. It covers setting up the toolchain, writing test programs, and simulating the platform using event-driven or cycle-accurate simulation with Icarus Verilog or the Vorpsoc simulator. The virtual platform allows fast development and debugging of OpenRISC code without requiring physical hardware.
Track 5 session 3 - st dev con 2016 - mechanisms for trusted code execution...ST_World
The document provides an overview of mechanisms for trusted code execution on IoT devices. It discusses the root of trust established by hardware components like the trust anchor. It also covers secure storage, communications, application code execution through techniques like chain of trust, and attacks on IoT devices. The document then summarizes security features of ARM Cortex cores and STM32 microcontrollers that help establish a root of trust and enable secure execution, storage and communication for IoT applications.
We are one of the best embedded systems training institute for advance courses. We are the pioneer of the embedded system training in Pune & Pcmc with the expertise of over 16 years. we are working in the field training & development of embedded systems & currently we are also working on live projects as per the requirements of clients. though we provide many different courses & training in embedded all aim at giving good practical knowledge to students as well help them in their career.
We are one of the best embedded systems training institute for advance courses. We are the pioneer of the embedded system training in Pune & Pcmc with the expertise of over 16 years. we are working in the field training & development of embedded systems & currently we are also working on live projects as per the requirements of clients. though we provide many different courses & training in embedded all aim at giving good practical knowledge to students as well help them in their career.
The document discusses transaction-based hardware-software co-verification using emulation. It describes how traditional cycle-based co-verification is slow due to communication overhead between the testbench and emulator. Transaction-based co-verification improves speed by only synchronizing when required and allowing parallel execution. Transactors are used to convert high-level commands from the testbench to a bit-level protocol for the emulator. This allows emulation speeds of tens of MHz, orders of magnitude faster than cycle-based. An example transactor for a virtual memory is presented.
This document discusses developing microcontroller applications using VSCode. It provides an overview of microcontrollers versus microprocessors, popular microcontroller development environments including Arduino, Mbed, and Pycom. It then focuses on setting up a VSCode/Mbed development environment and walks through creating "hello world" projects for various Mbed-supported microcontrollers. Next, it demonstrates importing and exporting Mbed projects and developing a LoRaWAN weather sensor application. Finally, it discusses setting up a VSCode/Pycom environment and demonstrates a Bluetooth application on a Pycom FiPy microcontroller.
This document discusses various methods for executing operating system commands from within SAS code, including the X command, %sysexec, Call system, Systask command, and Filename pipe. It provides examples of using each method and discusses advantages and disadvantages. Alternatives like shell scripts are also addressed for situations where XCMD is not enabled.
New Zephyr features: LWM2M / FOTA Framework - SFO17-113Linaro
Session ID: SFO17-113
Session Name: New Zephyr features: LWM2M / FOTA Framework - SFO17-113
Speaker: Marti Bolivar - David Brown - Ricardo Salveti - Mike Scott
Track: LTD
★ Session Summary ★
Zephyr is changing at an alarming pace and we would like to provide some insights to a few of the areas we have been working. MCUBOOT Secure bootloader integration, FOTA, DeviceTree and LWM2M enabling secure client to cloud capabilities
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-113/
Presentation:
Video: https://www.youtube.com/watch?v=VOv0-d5T99o
---------------------------------------------------
★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport
---------------------------------------------------
Keyword:
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
LCU14-101: Coresight Overview
---------------------------------------------------
Speaker: Mathieu Poirier
Date: September 15, 2014
---------------------------------------------------
Coresight is the name given to a set of IP blocks providing hardware assisted tracing for ARM based SoCs. This presentation will give an introduction to the technology, how it works and offer a glimpse of the capabilities it offers. More specifically we will go over the components that are part of the architecture and how they are used. Next will be presented the framework Linaro is working on in an effort to provide consolidation and standardization of interfaces to the coresight subsystem. We will conclude with a status of our current upstreaming efforts and how we see the coming months unfolding.
---------------------------------------------------
★ Resources ★
Zerista: http://lcu14.zerista.com/event/member/137703
Google Event: https://plus.google.com/u/0/events/cvb85kqv10dsc4k3e0hcvbr6i58
Presentation: http://www.slideshare.net/linaroorg/lcu14-101-coresight-overview
Video: https://www.youtube.com/watch?v=NzKPd3FByxI&list=UUIVqQKxCyQLJS6xvSmfndLA
Etherpad: http://pad.linaro.org/p/lcu14-101
---------------------------------------------------
★ Event Details ★
Linaro Connect USA - #LCU14
September 15-19th, 2014
Hyatt Regency San Francisco Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
Similar to ARM® Cortex™ M Bootup_CMSIS_Part_2_3 (20)
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...kalichargn70th171
A dynamic process unfolds in the intricate realm of software development, dedicated to crafting and sustaining products that effortlessly address user needs. Amidst vital stages like market analysis and requirement assessments, the heart of software development lies in the meticulous creation and upkeep of source code. Code alterations are inherent, challenging code quality, particularly under stringent deadlines.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Odoo ERP software
Odoo ERP software, a leading open-source software for Enterprise Resource Planning (ERP) and business management, has recently launched its latest version, Odoo 17 Community Edition. This update introduces a range of new features and enhancements designed to streamline business operations and support growth.
The Odoo Community serves as a cost-free edition within the Odoo suite of ERP systems. Tailored to accommodate the standard needs of business operations, it provides a robust platform suitable for organisations of different sizes and business sectors. Within the Odoo Community Edition, users can access a variety of essential features and services essential for managing day-to-day tasks efficiently.
This blog presents a detailed overview of the features available within the Odoo 17 Community edition, and the differences between Odoo 17 community and enterprise editions, aiming to equip you with the necessary information to make an informed decision about its suitability for your business.
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
ARM® Cortex™ M Bootup_CMSIS_Part_2_3
1. ARM® Cortex™ M Bootup & CMSIS -
Part 2 / 3
Raahul Anand Raghavan, Lead Systems Architect,
Glyton Solutions
!1
2. Agenda
• Before We Proceed!
• System Init & Boot Sequence
• ISR / Vector Table
• What happens on a RESET ?
• Typical Cortex M boot up sequence
• CMSIS Core - System Init & Boot Perspective
• EFM® 32 ARM® Cortex M0+ Starter Kit
• Simplicity Studio IDE
• Hands On!
• Project & Folder structure
• Linker description
• EFM®32 CMSIS Start-Up , System Configuration & Application functionality
• Setting Breakpoints & Inspecting entry
• Whats in Part 3 ?
!2
3. Before We Proceed!
• This is part 2 of a 3 part presentation which would practically introduce
ARM® Cortex M boot up / system initialization & CMSIS interface
• Presentation is introductory and in depth coverage of topics is out of the
scope
• Involves Cortex M0 based EVM and a suitable IDE
• Code snapshots illustrated here are adopted from sample projects
packaged along with Simplicity Studio IDE by Silicon Labs
• Official Documentation from ARM®, Silicon Labs will override information
provided here. Treat official TRM’s as complete guides on Subject Matter
• ARM® Cortex™ M trademark - ARM Ltd
• EFM®32, Silicon Labs SDK etc are registered trademarks
!3
5. What happens on a RESET ?
• Power on
• MCU brought out of reset
• ISR vector table placed @ 0x00
• MCU Core registers
• MSP loaded with address from 0x00
• PC loaded with reset_handler address from 0x04
• reset_handler
• Call SystemInit()
• Copy code from flash to RAM (EFM®32)
• Jump to __start / _mainCRTStartup for handling C runtime initialization
• Once CRT is setup, Jump to main(), application code entry point
!5
6. User ApplicationCRTCMSIS
Typical ARM® Cortex M Boot up Sequence
!6
• Typical boot up sequence pans across 3 stages
• CMSIS Start up code
• CRT Setup
• User application code (Uses Various CMSIS Interfaces to access MCU functionalities)
Reset_Handler
_start!
_mainCRTStartup!
main()!
SystemInit()
Copy Code from Flash to
RAM
exit!
(no return)
8. EFM® 32 ARM® Cortex M0+ Starter Kit
!8
• Zero Gecko MCU from Silicon Labs, based on 32 Bit ARM® Cortex M0+
Architecture
• 32KB Flash - On chip
• 4KB RAM - On Chip
• On Board J-Link JTAG emulator
• Supports USB debugging and downloads to on chip flash
• Supports ARM® Standard 20 PIN DEBUG header which can be
configured in 3 different ways (IN/OUT/MCU)
• AEM (Advanced Energy monitoring) for precise voltage and current
consumption
• Support several on chip peripherals and low energy (energy efficient)
interfaces
9. Simplicity Studio IDE
!9
• Free IDE from Silicon Labs
• Comes loaded with a variety of tools for Cortex M (Not Limited to)
based MCU implementation from Silicon Labs
• Build and Binary file generation using GNU ARM toolchain
• Download binaries to flash using J-Link debugger (On Board in
this case)
• Debug Support (Core Register Watch, Breakpoints, single
stepping etc)
• Device Energy monitoring
• Refer to official documentation from Silicon Labs for complete
info
10. Sample Project in Simplicity Studio & Folder Structure
• EFM® 32 specific port of both
• startup_<device>.s > startup_gcc_efm32zg.s
• system_<device>.c > system_efm32zg.c
• Driver implementation
• Display and logic for retargeting IO (Redirect prinf() to Display)
• Capacitive touch & Utilities required
• EFM® 32 On Chip controllers & Peripherals
• Clock Management Unit (CMU),ADC,RTC,USART
• GPIO Configuration
• Build Artifacts folders for active build configuration
• Linker definition (*.ld)
• map file, hex and binaries
• Application Logic & Implementation
• main() entry point
• Invokes calls to CHIP_init() and other CMSIS interfaces as required
!10
11. Linker Description - 1 (STK3200_touch.ld)
!11
/* Linker script for Silicon Labs EFM32ZG devices */
/* */
/* This file is subject to the license terms as defined in ARM's */
/* CMSIS END USER LICENSE AGREEMENT.pdf, governing the use of */
/* Example Code. */
/* */
/* Silicon Laboratories, Inc. 2014 */
MEMORY
{
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32768
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 4096
}
!
ENTRY(Reset_Handler)
!SECTIONS
{
.text :
{
KEEP(*(.isr_vector))
*(.text*)
! KEEP(*(.init))
KEEP(*(.fini))
! /* .ctors */
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
! /* .dtors */
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
! *(.rodata*)
! KEEP(*(.eh_frame*))
} > FLASH
• Defines Origin (Start Address and length)
for both FLASH & RAM
• Defines FLASH packaging
• isr_vector symbol is at the start
• KEEP directive ensures the specific
section is placed and will not be
removed even if there is no reference
• E N T RY ( R e s e t _ H a n d l e r ) d e fi n e s
reset_handler as entry point in the
image
13. Linker Description - 3 (STK3200_touch.ld)
!13
.heap :
{
__end__ = .;
end = __end__;
_end = __end__;
*(.heap*)
__HeapLimit = .;
} > RAM
!
/* .stack_dummy section doesn't contains any symbols. It is only
* used for linker to calculate size of stack sections, and assign
* values to stack symbols later */
.stack_dummy :
{
*(.stack)
} > RAM
!
/* Set stack top to end of RAM, and stack limit move down by
* size of stack_dummy section */
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
PROVIDE(__stack = __StackTop);
!
/* Check if data + heap + stack exceeds RAM limit */
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
!
/* Check if FLASH usage exceeds FLASH size */
ASSERT( LENGTH(FLASH) >= (__etext + SIZEOF(.data)), "FLASH memory overflowed !")
}
Defines RAM sections
STACK definition.
Remember STACK grows down!!
ASSERTION’s to ensure there is no overflow
while adding sections to both FLASH & RAM
At the time of linking and image generation
in case if the size of sections to be placed
either in RAM or FLASH exceeds the size of
RAM or FLASH, then it gets asserted by
Linker
14. EFM®32 CMSIS Start-Up Code - 1
!14
Vector Table definition!
which is placed !
@ address starting !
from 0x00!
Refer pervious slides!
on Linker description
CMSIS Core files !
implementation.!
Based on standard!
Templates!
startup_<device>.s!
system_<device>.c
startup_gcc_efm32zg.s!
basically implements!
vector table , reset handler!
which in turn does !
systeminit
15. EFM®32 CMSIS Start-Up Code - 2
!15
SystemInit - Can be used to initialize
any specific system initialization as
soon as reset handler starts execution
This section performs FLASH to RAM
copy. __data_start__ & __data_end__
are defined in linker definition.Refer to
previous slides on LD
Once copy is done (FLASH>RAM) ,
jump to CRT entry point _start which in
turn will setup application stack, heap,
etc and then call applications main()
entry point
Remember sequence of steps when
MCU comes out of RESET
Load MSP with address in 0x00!
PC starts execution from address
placed in 0x04 (reset_handler) !
(Refer linker description file)
Reset_Handler starts execution
16. EFM®32 CMSIS System Configuration Code
!16
system_efm32zg.c implements!
CMSIS interfaces for majority !
clock configuration. As we had!
seen in the previous slide!
SystemInit(void) gets called from!
Reset_handler!
!
!
Interfaces defined here deal !
with a variety of other clock !
related functionality which can be !
invoked after entering main() also in!
a bare metal scenario when there is no!
embedded OS involved
17. EFM®32 Application Entry Point
!17
main() - Typical C Application entry
which implements application logic
CHIP_Init() performs any additional
MCU specific initialization!
!
DISPLAY_Init(), RETARGET_(),
CAPSENSE_Init() etc implement various
driver level interfaces which in turn call
CMSIS interfaces as required
18. Setting Breakpoints and Inspecting Entry Points - 1
!18
• Connect EFM® 32 kit to IDE!
• We can set PC = 0x0!
• In the Debug window, we can see that
0x0 is mapped to __isr_vector() just
as expected!
• So address 0x04 contains the actual
a d d r e s s o f r e s e t h a n d l e r
implementation!
• Remember, __isr_vector holds
addresses and not actual function
implementation
19. Setting Breakpoints and Inspecting Entry Points - 2
!19
• S e t a b r e a k p o i n t i n
Reset_Handler!
• Inspect PC and we can see
that PC = 0x2E50 and not
0x04!
• T h e a b o v e c o n fi r m s
__isr_vector contains
address and not actual
implementation!
• We can also confirm this /
c r o s s c h e c k w i t h
STK3200_touch.map file
generated