Embedded beans encapsulate the initialization and functionality
of embedded systems basic elements, such as CPU core, CPU on-chip
peripherals (for details on categories of beans delivered with Processor
Expert see chapter Bean categories),
FPGAs, standalone peripherals, virtual devices and pure software
algorithms. A user can initialize beans by setting their initialization properties
in the Bean Inspector. Processor Expert
generates the initialization code for the peripherals according to the
properties of the appropriate beans. User can decide whether the bean will
be initialized automatically at startup or manually by calling the bean's
Init method. Processor Expert knows exactly the relation between allocated
peripherals and selected beans. When the user chooses a peripheral in the
bean properties, Processor Expert proposes all the possible candidates but
signals which peripherals are allocated already (with the icon of the bean
allocating the peripheral) and also signalizes peripherals that are not
compatible with current bean settings (with a red exclamation mark). In
the case of an unrealizable allocation, an error is generated. Unlike common libraries, Embedded Beans are implemented for all
possible peripherals, with optimal code. The most important advantages of
the generated modules for driving peripherals are that you can: The concept of the peripheral allocation generally does not enable
sharing of peripherals because it would make the application design too
complicated. The only way to share resources is through the beans and
their methods and events. For example, it is possible to use the RTIshared
bean for sharing periodic interrupt from timers. Methods are interfacing bean functionality to user's code. All enabled
methods are generated into appropriate bean modules during code generation
process. All Methods of each bean inserted into the project are visible as
a subtree of the beans in the Project panel. Some beans allow handling the hardware or software events related to
the bean. The user can specify the name on function invoked in the case of
event occurrence. They are usually invoked from the internal interrupt
service routines generated by Processor Expert. If the enabled event
handling routine is not already present in the event module then the
header and implementation files are updated and an "empty"
function (without any code) is inserted. The user can write event handling
code into this procedure and this code will not be changed during the next
code generation. Some beans, especially the Low-level beans and Peripheral
Initialization beans (please see more details in chapter Bean
categories) allow to assign an interrupt service routine name to a
specific interrupt vector setup.
Embedded Beans can be created and edited manually or with the help of
Bean Wizard. CPU Beans are a special category of beans. More information about Embedded beans can be found in the Processor
Expert:
|