Hi,
In my code implementation, i don't have direct access to global variables in the code, meaning
the signals are defined as enums (used via QP/C++ framework)
*****extract of the code base****
enum Signals
{
// Settings
INDX_SETTING_VALUE_SIG = QP::Q_USER_SIG,
REQUIRE_PMP_START_SIG
};
and then these are accessed via pointers as shown below through the QP class:
QP::QState PerPumpControl::Stopped(PerPumpControl * const me, QP::QEvt const * const e) {
QP::QState status_;
switch (e->sig) {
// ${AOs::PeristalticPumpC~::SM::Enabled::Stopped::REQ_PUMP_START}
case REQUIRE_PMP_START_SIG: {
// Store the setpoint
me->setpoint = PmpRequest::GetFlowRate(e);
}
Though the defined enums are global since they are being accessed via these buffers, the address of the signal "REQUIRE_PMP_START_SIG" is not visible in the map file generated, and hence i will not be able to probe the value for "REQUIRE_PMP_START_SIG".
Is there any mechanism through which this can be acheived?
The structure which is shown above is a common module every module will be using the same class inheritance mechanism and accessing all the required signals via e->sig.
I tried generating the disassembly of that particular object using the required linker module, it is of less help.
Also generated the cross-reference file, which shows the following kind of information:
*****Extract of the Cross-reference.crl file*****
8283240 QP::QHsm::Q_UNHANDLED R ../models/Generated/PeristalticPumpControl.cpp 182 27
15541996 status_ M ../models/Generated/PeristalticPumpControl.cpp 182 17
14938844 REQUIRE_PMP_START_SIG R ../models/Generated/PeristalticPumpControl.cpp 187 14
But i am unable to link it back to the equivalent memory location in the map file.
Any help in this regard would be very much helpful.
I would like to probe the value of REQUIRE_PMP_START_SIG, through the respective DSS memory.read API.
Thanks,
-Nikhilesh