Cookies disallowed, click button to change.
Cookies allowed, click button to disallow.
"Embedded software developers often look to chip manufacturers to provide example code and drivers for their processors to help accelerate the design cycle. Unfortunately the provided code often lacks a layered architecture that would allow the code to be easily reused. In addition, the code is often sparingly documented which makes fully understanding what is being done difficult. The result is poorly crafted code that is difficult to read and comprehend that offers no possibility of reuse with the next product. Time and effort is forced to focus on developing low level drivers rather than on implementing the product features at hand.
This paper will explore methods and techniques that can be used to develop reusable abstracted device drivers that will result in a sped up development cycle. A method for driver abstraction is examined in addition to a brief look at key C language features. A layered approach to software design will be explored with common driver design patterns for Timers, I/O, and SPI which can then be expanded upon to develop drivers for additional peripherals across a wide range of processor platforms."
"I am sure many of you will be familiar with Donald Knuth’s oft-quoted sentiment:
“We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.”
How many of you have seen the second sentence?
“Yet we should not pass up our opportunities in that critical 3%.”
Both parts are important. We all realize that optimization is a valuable activity but it only reaches maximum payback for minimum effort when we apply the available effort carefully in exactly the right place."
"TI expands successful software ecosystem with a new, complete real-time operating system: TI-RTOS" - press release link
" These components include:
TI-RTOS - web page link
"TI-RTOS: A Real-Time Operating System for TI Devices" - Introduction PDF document link
"TI-RTOS is a real-time operating system for TI microcontrollers. TI-RTOS enables faster development by eliminating the need for developers to write and maintain system software such as schedulers, protocol stacks and drivers. It combines a real-time multitasking kernel with additional middleware components including TCP/IP and USB stacks, a FAT ﬁ le system, and device drivers, enabling developers to focus on differentiating their application. TI-RTOS provides a consistent embedded software platform across TI’s microcontroller devices, making it easy to port legacy applications to the latest devices."
Your next(*) electronic device will be 3D printed from Carbomorph for 100% biocompatibility.
"Here we present formulation of a simple conductive thermoplastic composite we term ‘carbomorph’ and demonstrate how it can be used in an unmodified low-cost 3D printer to print electronic sensors able to sense mechanical flexing and capacitance changes. We show how this capability can be used to produce custom sensing devices and user interface devices along with printed objects with embedded sensing capability. This advance in low-cost 3D printing with offer a new paradigm in the 3D printing field with printed sensors and electronics embedded inside 3D printed objects in a single build process without requiring complex or expensive materials incorporating additives such as carbon nanotubes."
Article Web page link
(*) implanted in about 5 years from now
Press release web page link
" The new XMC4400, XMC4200 and XMC4100 are the world’s first Cortex-based microcontrollers to offer a high-resolution PWM unit. With a PWM resolution of just 150ps, they are especially suitable for digital power conversion in inverters as well as switching and uninterruptible power supplies (UPS). Other applications are to be found in IO units in automation, user interfaces (HMI) and logging and control systems. "
" However, a shift toward running data-path applications in the user-space context is now occurring. The Linux user space provides several advantages for applications, including more robust and flexible process management, standardized system-call interface, simpler resource management, a large number of libraries for XML, and regular expression parsing, among others. It also makes applications more straightforward to debug by providing memory isolation and independent restart. At the same time, while kernel-space applications need to conform to General Public License guidelines, user-space applications are not bound by such restrictions. "
First 32-bitmicro MCU in 8 pin DIP and other low pin count packages, comes with a nice collection of innovative peripherals.
"Another important peripheral on the LPC800 is the state configurable timer (SCT), which can be customized to meet the user’s specific application requirements. The basic SCT configuration is simply two 16-bit PWMs that have 4 capture inputs and 4 match outputs where each of the match registers are shadowed. The LPC800 can deliver virtually any timing or PWM function found on popular 8-bit MCUs. To add flexibility, the SCT in the LPC800 combines the ideas of states and events, allowing users to create sophisticated counting, output, input and control functions for lighting, power and other customized applications – without the constraints imposed by fixed functions.
Other LPC800 peripherals include an analog comparator, which is available with an external voltage reference for accurate measurement; a 4-channel multi-rate timer; a wake-up timer; and up to 18 GPIOs."
"Building sensors has been made possible by the recent advances in micro-electro mechanical systems (MEMS)1 technology. Each node of the sensor network consists of three subsystems: the sensor subsystem which senses the environment, the processing subsystem which performs local computations on the sensed data, and the communication subsystem which is responsible for message exchange with neighboring sensor nodes. While individual sensors have limited sensing region, processing power, and energy, networking a large number of sensors gives rise to a robust, reliable, and accurate sensor network covering a wider region. The network is fault-tolerant because many nodes are sensing the same events. Further, the nodes cooperate and collaborate on their data, which leads to accurate sensing of events in the environment. The two most important operations in a sensor network are data dissemination, that is, the propagation of data/queries throughout the network, and data gathering, that is, the collection of observed data from the individual sensor nodes to a sink. "
Part I - Web page link
Part II - Web page link
Rumor routing (or why gossip spreads faster than light) presentation - PDF document link
[C|H]335 will explore how programs written in a high level language are evaluated by a processor to control the physical world. This fall we will be using an entirely new laboratory based upon the STM32 (ARM Cortex-M3) processor and utilizing off-the-shelf modules -- these and many other modules are readily available from on-line suppliers. We will use "C" to write programs to control these modules including an LCD display, a serial interface, a Wii Nunchuk, and an audio amplifier. In the process we will touch topics covered in a number of subsequent CS classes including compilers, operating systems, computer architecture, and digital design. It's obvious that we will be skimming the surface of these topics; for example, we will examine what a compiler and its associated tools (assembler, linker) do in some detail, but not how they are implemented to perform their function. My goal is that at the end of this course every student will be able to explain, in a technically accurate manner, the path from program to I/0 and will be proficient in using one representative set of tools to write programs to control a defined physical world. The progression of experiments introduces embedded system programming, programmed I/O, common protocols including async serial, SPI, and I2C; A/D based sensors, interrupts, and DMA."