Accessing a C++ static variable from gcc inline asm
Try this:

asm volatile("lds r24, %0" : : "i" (&amp;Driver.ISR_param));


The "i" constraint means you provide an integer constant. It can be
any integer, unlike the uppercase "I" constraint which is limited to
6-bit positive integers.

Addendum:
The constraints supported by gcc are listed in the gcc documentation,
section Constraints for asm Operands:


The "i" constraint is listed in the subsection “Simple Constraints”
and is described as:



  An immediate integer operand (one with constant value) is allowed.
  This includes symbolic constants whose values will be known only at
  assembly time or later.



The "I" constraint is in the subsection “Machine Constraints” and,
for the AVR architecture, is defined as



  Constant greater than -1, less than 64.