Opcion 1. "Recicla" el source del BcfgExample(copialo a otra carpeta, y borra BcfgExample.dep), si deseas renombra BcfgExample.ewp y .eww a otro nombre, y edita el .eww la linea que dice <path> para que haga referencia al .ewp, y reemplaza main.cpp con el codigo del ELF
Opcion 2. Si es un ELF al que le quieres agregar BCFG, aparte de incluir en el main.c/.cpp o como se llame
#include "..\\include\cfg_items.h"
#include "conf_loader.h"
#include "config_data.h"
debes agregar al proyecto (Project -> Add files):
conf_loader.cpp
config_data.c
Luego, en el lado izquierdo en el IAR, despues de seleccionar Release, click con el boton derecho en config_data.c -> Options
Marcas la casilla "Override inherited settings", luego vas a la pestaña Config, y en ambos casilleros donde dice "Segment base name", pones CONFIG (sí, todo en mayúsculas)
Aparte de agregar esto:
Lo mas importante, en la funcion main()Código:static int ReconfigElf(void *mess ,BOOK *book) { RECONFIG_EVENT_DATA *reconf=(RECONFIG_EVENT_DATA *)mess; int result=0; if (wstrcmpi(reconf->path,successed_config_path)==0 && wstrcmpi(reconf->name,successed_config_name)==0) { InitConfig(); Timer_ReSet(&timer,REFRESH_TIME,onTimer,0); result=1; ** return(result); ** ... const PAGE_MSG bk_msglst_base[] @ "DYN_PAGE" = { ELF_TERMINATE_EVENT, TerminateElf, ELF_SHOW_INFO_EVENT, ShowAuthorInfo, ELF_RECONFIG_EVENT, ReconfigElf, NIL_EVENT_TAG, NULL **; const PAGE_DESC bk_base = {"BcfgExample_Base_Page",0,bk_msglst_base**;
Si no pones InitConfig() en el main(), no crea el .bcfgCódigo:int main() { .... InitConfig(); .... **
Si no cambias las opciones del config_data.c para ponerlo en el segmento CONFIG, te crea un .bcfg de 0 bytes (comprobado)
Nota: Reemplaza los ** por el signo de cerrar llave (el otro que no es este: {)





(copialo a otra carpeta, y borra BcfgExample.dep), si deseas renombra BcfgExample.ewp y .eww a otro nombre, y edita el .eww la linea que dice <path> para que haga referencia al .ewp, y reemplaza main.cpp con el codigo del ELF
RESPONDER

Marcadores