TOP Contributors

  1. MIKROE (2662 codes)
  2. Alcides Ramos (357 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (112 codes)
  5. Chisanga Mumba (90 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (137033 times)
  2. FAT32 Library (70166 times)
  3. Network Ethernet Library (56035 times)
  4. USB Device Library (46357 times)
  5. Network WiFi Library (41972 times)
  6. FT800 Library (41302 times)
  7. GSM click (29079 times)
  8. mikroSDK (26519 times)
  9. PID Library (26452 times)
  10. microSD click (25449 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
Project

Misaligned Address Finder

Rating:

1

Author: VCC

Last Updated: 2020-06-05

Package Version: 1.1.0.2

Category: Other Codes

Downloaded: 189 times

Not followed.

License: MIT license  

Misaligned Address Finder is a tool used to generate a report on variables and constants, which are not Word or DWord aligned.
Some variables / constants are required to be allocated at even addresses (16-bit architectures) and at multiple by 4 addresses (32-bit architectures), so users can be notified about that allocation.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "Misaligned Address Finder" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "Misaligned Address Finder" changes.

Do you want to report abuse regarding "Misaligned Address Finder".

  • Information
  • Comments (4)

Project Blog

Misaligned Address Finder is a tool used to generate a report on variables and constants, which are not Word or DWord aligned. Some variables / constants are required to be allocated at even addresses (for 16-bit architectures) and at “multiple by 4” addresses (32-bit architectures), so users can be notified if the compiler doesn’t do that allocation as required. This is to avoid running into address exceptions when working with misaligned pointers. See forum topic

Features:
- It is started from a mikro compiler as a tool
- Uses the compiler generated lst file as input, to get the list of identifiers (variables / constants)
- Keeps track of multiple lst files (added by user)
- Notifies either about all misaligned identifiers or about a user-defined subset of all identifiers
- Notifies through a message dialog or through two different generated report files
- The report verbosity is controlled by various application settings
- The application settings are stored in a separate ini file than the list of lst files
- The two applications settings files can be passed as command line arguments, if desired
- The application can be part of an automation environment

Requirements / Recommendations:
- The application must be run with "%LIST_FILE_NAME" parameter from compiler's IDE, including quotes.
- Be careful of what files are passed as command line arguments, because the second and the third arguments are expected to be ini files and they will be overwritten while closing the application.
- An IDE bug deletes the quotes from LIST_FILE_NAME parameter, so there must be at least two parameters, which are correctly saved: "%LIST_FILE_NAME" dummy The  second one has no quotes and is ignored by the application.


Limitations:
- Neither the list of files nor the lists of identifiers can be sorted.
- No misaligned identifier will be reported by default. Users have to either add them to the list (manually),
or to set the application to report on all misaligned identifiers.
- When configured to autoclose, the application will have to be started without command line arguments to allow UI interaction.

Main window

Main window

Main window

View full image
Settings window

Settings window

Settings window

View full image
mikro IDE tool

mikro IDE tool

mikro IDE tool

View full image

ALSO FROM THIS AUTHOR

Expectations

0

This is a small library with testing functions, inspired by Jasmine testing framework. It supports several datatypes for writing tests, like String, Integer, DWord, Boolean and raw data. There is also a counterpart library for desktop applications. The provided examples test the DynArrays library.

[Learn More]

FixedFIFO

5

This library provides a fixed-size FIFO to an application. Users can set the FIFO depth and width. There are also three examples for mikroPascal PRO for PIC, dsPIC/PIC24 and PIC32. Each example implements a USB CDC device and a PC application sends commands to PIC for adding/reading items to/from FIFO.

[Learn More]

DynArrays

0

Dynamic arrays of Byte, Word, DWord and Pointer. Also 2D arrays of Byte and Word, and 3D array of Byte. Can be compiled on desktop (tested with FreePascal) and MCU (for dsPIC and PIC32).

[Learn More]