May 23 - Day 5: C++ for Embedded - Case Study No. 2
Continuing Education Center 5/23/2014 Post a comment In this session a practical application of C++ is described, which is directly relevant to embedded developers: the implementation of read-only ports. The discussion is extended to consider further use of C++ to enable easy use of peripheral hardware.
May 21 - Day 3: C++ & a Real-Time Operating System
Continuing Education Center 5/21/2014 Post a comment Application software normally interacts with a real-time operating system by means of a library of function calls. C++ code may also work in this way, but in this session an approach to using the object-oriented capabilities of C++ to define a more flexible interface is described.
May 20 - Day 2: A C to C++ Migration Strategy
Continuing Education Center 5/20/2014 Post a comment As most embedded programming is currently performed using C, it is likely that developers will need to transition their code and their working practice to C++. This session proposes a strategy that enables the benefits of C++ to be realized quickly and incrementally.
May 19 - Day 1: C++ for Embedded Programming
Continuing Education Center 5/19/2014 1 comment This session reviews some key features of the C++ language that are of interest to the embedded software developer. Also, some language features and implementation details that may be troublesome are highlighted and explained.
May 9 - Day 5: Ethics, Dangers, Perception & Control
Continuing Education Center 5/9/2014 Post a comment We will discuss how we control and manipulate this technology, and how this technology will be able to control and manipulate us. Very few of us could survive a real societal, social, or environmental meltdown. As many of us embrace the new awareness and consciousness that will be direct neural connectivity to an even more vast machine, our individuality may be overcome with the need for connectivity to sustain our jobs, and even our lives. Welcome to the Machine.
May 8 - Day 4: Security, Identification & Virtual Presence
Continuing Education Center 5/8/2014 Post a comment We will look at ways in which security, identification, privacy, and individuality will be affected. We are constantly being surveyed, judged, evaluated, classified, etc. The technologies that will be "marketed" to us will seemingly solve problems and have desired features, but will require us to be an even more tightly coupled part of the machine. This includes physical control of the outside world with our minds, as well as the outside world being able to control our minds.
May 7 - Day 3: Research & Futures
Continuing Education Center 5/7/2014 Post a comment While researchers and select vendors may have access to some of tomorrow’s technology, for the most part, the next generation is in the wings. Modern processor densities, performance levels, and communications links allow high-level distributed processing environments to surround us each within our own little electromagnetic bubble. These Personal Area Networks will continue to interface and graft as we become electro-bionoids, providing us with ever-increasing levels of control and information.
May 6 - Day 2: Modern Advances & Electricity Changes All
Continuing Education Center 5/6/2014 Post a comment We will look at how the electronics age has rapidly filled our modern-day lives with machines and interfaces that we depend on. The machine we already live inside sustains us and our ability to interface with it helps us advance. While early machine interfaces were large, bulky, electro-mechanical assemblies, time has given way to streamlined and efficient technology for presentation and display of data, as well as clever ways to interact with machines.
May 5 - Day 1: Machines of the Past & Advances That Changed History
Continuing Education Center 5/5/2014 1 comment We will begin by looking at how we developed as a species in conjunction with our machines, examine driving factors and necessities that spawned inventiveness, and look at the early inventions that helped us survive and advanced us significantly. We will review inventions that pioneered the user interfaces and how machinery has evolved to become safer and easier to use, and to provide improved productivity.
April 25 - Day 5: Debugging Our RTOS Application
Continuing Education Center 4/25/2014 Post a comment Now that our code is written, we need to be able to test and debug it. In this class, we will see how the debugger works with the RTOS to provide task-level debugging to help us debug and make the application work.
April 22 - Day 2: Defining the Tasks & Elements
Continuing Education Center 4/22/2014 327 comments In this class, we will block out our code and define what tasks will need to be written and how they will need to interact. We will look at the elements or modules that we will need to make use of in the RTOS.
April 21 - Day 1: Getting Started & Some Basics
Continuing Education Center 4/21/2014 359 comments In this class, we will define our project and select our target processor. We will be using the inexpensive KWIKSTIK evaluation board from Freescale so that those who wish may follow along. We will look at the MQX RTOS and what elements we will need for the project.
April 11 - Day 5: Sensors in Extreme Applications
Continuing Education Center 4/11/2014 328 comments The rules can change when sensor specifications exceed those for high-volume applications. High precision and accuracy sensors, as well as measurement extremes, often dictate different sensor technologies. This lecture will explore a few of the more challenging situations.
April 7 - Day 1: The Basics of Specifying Pressure Sensors
Continuing Education Center 4/7/2014 409 comments While pressure sensors provide one of the most frequent physical measurements, these sensors also have several nuances that can cause problems for those who do not work with them on a frequent basis. Our lecturer will discuss the issues in this class.
March 27 - Day 4: Embedded Ethernet the PIC Way
Continuing Education Center 3/27/2014 409 comments A variety of scalable embedded Ethernet solutions are available. In today’s lecture we will implement a number of Ethernet hardware designs, which are based on Ethernet-enabled PIC microcontrollers and external MAC/PHY devices.
March 26 - Day 3: Embedded USB the PIC Way
Continuing Education Center 3/26/2014 386 comments USB host and device designs are the lecture topics of the day. Today we will implement USB host and USB device hardware designs, which are entirely based on PIC microcontroller USB engines.
March 25 - Day 2: The Multilingual PIC Microcontroller
Continuing Education Center 3/25/2014 463 comments Although PIC assembler is still the programming language of choice in some projects, applications for the modern PIC MCU can also be forged using BASIC and C. Today’s discussion will focus on programming techniques involving assembler, PICBASIC Pro, CCS C, and Microchip’s X series of C compilers.
March 14 - Day 5: Your Own Design
Continuing Education Center 3/14/2014 531 comments This class will take the sample design and make some modifications to it as an example of how you can create your own design. Follow along on your own board, or just view the PPT. Either way, by the end of the course you should be comfortable creating your own FPGA design.
March 13 - Day 4: A Sample Design From Start to Finish
Continuing Education Center 3/13/2014 544 comments In this class we will take one of the example designs that comes with the kit from start to finish. This will help solidify the other concepts in the course and get you comfortable with doing your own design. Purchase the board ahead of time and follow along, or just view the PPT.
March 12 - Day 3: Lattice LCMXO2 Evaluation Board
Continuing Education Center 3/12/2014 608 comments The next step in doing your own design is to use a low-cost evaluation board. The Lattice LCMXO2 Evaluation board provides all the hardware you need to create a design. This class will review all the features and capabilities of the board and compare it to other types of boards.
March 11 - Day 2: Programmable Logic Design Flow
Continuing Education Center 3/11/2014 649 comments Using the Lattice Diamond tool flow as an example, we will look at all the steps required to take a design from conception to realization. Follow along using your own copy of the Lattice Diamond tools, or just view the screen shots on the slides. Either way you will get over that first barrier to doing your own design.
March 10 - Day 1: An Introduction to Designing with Programmable Logic
Continuing Education Center 3/10/2014 796 comments This class will provide an introduction to the course. We will quickly review the architecture of the Lattice LCMXO2-1200ZE FPGA as the programmable device for the class. We will also review the full design and development flow, the evaluation board, and the example designs we will use in the course.
February 28 - Day 5: The Wonderful World of Software Maintenance
Continuing Education Center 2/28/2014 434 comments The software design cycle doesn’t end with the successful launch of the product. It simply marks the entry to the next stage of the cycle, which is to maintain the software. Over time, user expectations and needs change, and the software needs to be updated to continue to meet the users’ needs. This session explores this often neglected portion of the design cycle.
February 27 - Day 4: Testing Your Way to Success
Continuing Education Center 2/27/2014 583 comments As much fun as designing and implementing software can be, at some point it must be proven that it meets requirements and does what it’s supposed to without any bugs! This session will cover software testing fundamentals. The difference between a fault and a failure will be explored in addition to testing effectiveness and objectives. Different levels of testing such as unit, integration, and system testing will be discussed.
February 26 - Day 3: Implementation Strategies
Continuing Education Center 2/26/2014 560 comments This session will dig into the details of writing embedded software. The fundamentals will be discussed and include how to minimize complexity and anticipate change. Constructing for verification and design patterns will be explored. Techniques for writing the software will be covered, including design for reuse, modularity, and quality.
February 25 - Day 2: Software Design Principles
Continuing Education Center 2/25/2014 535 comments This session will present concepts on how to design embedded software. It will start with a look at how to take requirements and develop a software architecture that meets those requirements. A brief look at available modeling tools such as UML will be examined. Techniques and design strategies such as structured and object-oriented design will be discussed.
February 24 - Day 1: Introduction to the Embedded Software Design Cycle
Continuing Education Center 2/24/2014 576 comments This session will introduce what the embedded software design cycle is and why an engineer would want to follow the cycle. The session will also look at requirements in detail ‒ what a requirement is, how to solicit them, and how to track and maintain them. Tools and examples will be provided so that this first critical step in the design cycle may be executed flawlessly.
February 13 - Day 4: Kernel Development
Continuing Education Center 2/13/2014 364 comments The Linux kernel is a core piece of an Embedded Linux ecosystem and is heavily developed for different platforms. On Day 4, the lecturer will show how the Yocto Project provides a workflow and framework for developing platforms based on the Linux kernel. In addition, we will discuss a best-practices process for kernel development and how they can be used to extend kernel packages.
February 12 - Day 3: Customizing the Packages, Images & Layer
Continuing Education Center 2/12/2014 396 comments The OpenEmbedded architecture is very flexible and can be customized to the needs of most Embedded Linux platforms. In this class, we will introduce the concepts of customizing the Yocto Project in terms of packages and images. As will be shown, the meta data is organized by layers, which helps to maintain a relevant set of packages for a given project.
February 11 - Day 2: Building Pre-Defined Embedded Linux Images
Continuing Education Center 2/11/2014 395 comments Existing reference images are available to developers, which can serve as a starting point. In this class, we will discuss and understand the build process by building an existing image. We will also learn about individual package recipes and go through the motions of a complete build.
February 10 - Day 1: Introduction to Embedded Linux & the Yocto Project
Continuing Education Center 2/10/2014 576 comments How does Embedded Linux fit into your development strategy? How does that tie in with the Yocto Project? What resources are at your disposal and how can one get on-board as developer? What does the complete ecosystem look like? All of these questions will be covered in Day 1 and many more as it pertains to an Embedded Linux development.
January 31 - Day 5: Benchmark Testing of MIMO Performance
Continuing Education Center 1/31/2014 337 comments In this lecture you will learn about benchmark test methods and challenges in achieving maximum performance of MIMO devices in a repeatable and reproducible manner. In addition, we will wrap up any loose ends from the previous days’ lectures and answer any remaining questions.
January 28 - Day 2: All You Ever Want to Know About Channel Emulation
Continuing Education Center 1/28/2014 380 comments Today's lecture will get into the details of wireless channel modeling and channel emulation equipment. A complex but important topic, channel emulation is at the heart of MIMO testing. At the end of the lecture you will know the basic theory of channel modeling, understand the available solutions, and have an overview of relevant standards activities.
January 27 - Day 1: Wireless Technology Update
Continuing Education Center 1/27/2014 393 comments This opening session will provide an overview of wireless technology and an update on the IEEE and LTE standards. We will focus on today’s key wireless technologies: WiFi and LTE. Our material will also include an overview of industry standards for wireless test.
January 17 - Day 5: A Basic4Android HTTP Server App
Continuing Education Center 1/17/2014 432 comments Normally, an Android device operates in client mode, which involves using a client app to access a server. In this final lecture of the series, we will turn all of that around and serve web pages to a remote WiFi device.
January 16 - Day 4: Basic4Android Sockets and Digital I/O
Continuing Education Center 1/16/2014 433 comments Thus far, we have banged bits using RF and USB. How can any networking tutorial be complete without pounding data through the pipes with TCP/IP? In this lecture we will implement digital I/O control using Basic4Android TCP/IP networking methods.
January 14 - Day 2: A Basic4Android USB-Based Digital I/O App
Continuing Education Center 1/14/2014 521 comments Sometimes a wireless connection is not possible or even necessary. So, today we will take a look at interfacing USB-bound microcontroller-based devices with a Basic4Android application. Host and downstream external USB device solutions will be discussed.
January 13 - Day 1: Basic4Android Wireless Digital I/O App
Continuing Education Center 1/13/2014 592 comments Today’s lecture will expose various wireless Basic4Android methods that provide direct control of external microcontroller-based resources. Basic4Android network coding along with microcontroller-based hardware and network firmware concepts will be examined in detail.
The National Highway Traffic Safety Administration’s recent backup camera mandate could open the door to more vehicle innovations, including better graphical displays, 360-degree camera views, and the increased use of Ethernet.
With support from National Instruments, a group of dedicated students from Connally High School in Austin, where more than 50% of the students are at risk of not graduating, have created a successful robotics team that is competing in the FIRST World Championships.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.