Le linker de l’IDE Nios® II ne met pas automatiquement un sous-fichier dans une mémoire qui n’est pas désignée comme .text.
Afin d’inclure le sous-fichier dans une section de mémoire spécifique autre que .text (dans cet exemple, .rwdata), procédez comme suit :
- Définissez une section personnalisée pour cette routine spécifique, par exemple : my_subroutine non valide __attribute__ ((section (« .usersection »)) ;
- Ouvrez le fichier generated.x qui se trouve dans votre dossier _syslib/Débogage/system_description et recherchez le __ram_rwdata_end
- Ajoutez les lignes suivantes au fichier.x généré :
.usersection : AT (LOADADDR (.rwdata) SIZEOF (.rwdata) ){
PROVIDE (_alt_partition_usersection_start = ABSOLUTE (.)) ;
*(.usersection .usersection.*)
. = ALIGN (4) ;
PROVIDE (_alt_partition_usersection_end = ABSOLUTE (.)) ;} >onchip_ram
PROVIDE (__flash_alt_partition_usersection_start = LOADADDR (.usersection)) ;
- Modifiez alt_load.c pour effectuer les opérations de copie de section personnalisée. Voir ci-dessous pour référence :
__flash_alt_partition_usersection_start vide ;
_alt_partition_usersection_end vide ;
_alt_partition_usersection_start vide ;/*
* Copiez la section .usersection.
*/
alt_load_section (&__flash_alt_partition_usersection_start,
&_alt_partition_usersection_start
&_alt_partition_usersection_end) ;