def METHOD_NAME(env):
    """
    Gives information about the STM32 header files. For example the STM32F469:
      - family_define: `STM32F4`
      - define: `STM32F469xx`
      - core_header: `core_cm4.h`
      - system_header: `system_stm32f4xx.h`
      - family_header: `stm32f4xx.h`
      - device_header: `stm32f469xx.h`
    :returns: a dictionary with the above keys
    """
    device = env[":target"]
    core = device.get_driver("core")["type"]
    core = core.replace("cortex-m", "").replace("+", "plus").replace("f", "").replace("d", "")
    core_header = "core_cm{}.h".format(core)
    folder = "stm32{}xx".format(device.identifier.family)
    family_header = folder + ".h"
    folder = "stm32/{}/Include".format(folder)
    define = None
    content = Path(localpath(folder, family_header)).read_text(encoding="utf-8", errors="replace")
    match = re.findall(r"if defined\((?P<define>STM32[FGHLU][\w\d]+)\)", content)
    define = getDefineForDevice(device.identifier, match)
    if define is None or match is None:
        raise ValidateException("No device define found for '{}'!".format(device.partname))
    device_header = define.lower() + ".h"
    family_define = "STM32{}".format(device.identifier.family.upper())
    headers = {
        "define": define,
        "family_define": family_define,
        "core_header": core_header,
        "device_header": device_header,
        "family_header": family_header,
        "system_header": "system_" + family_header,
    }
    bprops.update(headers)
    bprops["folder"] = folder
    return headers