# Conflicts:
# include/config.h
extern command_ret_t do_run(cmd_tbl_t *, int, int, char * const []);
extern command_ret_t do_source(cmd_tbl_t *, int, int, char * const []);
extern command_ret_t do_attach(cmd_tbl_t *, int, int, char * const []);
extern command_ret_t do_run(cmd_tbl_t *, int, int, char * const []);
extern command_ret_t do_source(cmd_tbl_t *, int, int, char * const []);
extern command_ret_t do_attach(cmd_tbl_t *, int, int, char * const []);
+extern command_ret_t do_pr_free_avr(cmd_tbl_t *, int, int, char * const []);
#ifdef CONFIG_SYS_LONGHELP
const FLASH char sd_help_text[] =
#ifdef CONFIG_SYS_LONGHELP
const FLASH char sd_help_text[] =
"avr memory modify (constant address)",
"address"
),
"avr memory modify (constant address)",
"address"
),
+CMD_TBL_ITEM(
+ !prfree, 2, 1, do_pr_free_avr,
+ "print avr heap free list",
+ "address"
+),
#endif
CMD_TBL_ITEM(
mstep, 2, 1, do_busreq_pulse,
#endif
CMD_TBL_ITEM(
mstep, 2, 1, do_busreq_pulse,
mod_mem_avr(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const argv[])
{
uint8_t *addr;
mod_mem_avr(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const argv[])
{
uint8_t *addr;
int nbytes;
(void) cmdtp;
int nbytes;
(void) cmdtp;
* the next value. A non-converted value exits.
*/
do {
* the next value. A non-converted value exits.
*/
do {
printf_P(PSTR("%04x: %02x"), addr, data);
nbytes = cli_readline(PSTR(" ? "), 0);
printf_P(PSTR("%04x: %02x"), addr, data);
nbytes = cli_readline(PSTR(" ? "), 0);
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
struct __freelist {
size_t sz;
struct __freelist *nx;
struct __freelist {
size_t sz;
struct __freelist *nx;
(size_t) STACK_POINTER(), (size_t) __brkval, freesum);
}
(size_t) STACK_POINTER(), (size_t) __brkval, freesum);
}
+command_ret_t do_pr_free_avr(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+ printfreelist(NULL);
+
+ return CMD_RET_SUCCESS;
+}
{
extern void setup_mmc(void);
{
extern void setup_mmc(void);
+ __malloc_margin = CONFIG_SYS_MALLOC_MARGIN;
setup_avr();
for (int i = 0; i < GPIO_MAX; i++)
gpio_config(i, INPUT_PULLUP);
setup_avr();
for (int i = 0; i < GPIO_MAX; i++)
gpio_config(i, INPUT_PULLUP);
#define CONFIG_SYS_MAXARGS 20
#define CONFIG_SYS_ENV_NAMELEN 16
#define CONFIG_SYS_HISTSIZE (CONFIG_SYS_CBSIZE*2)
#define CONFIG_SYS_MAXARGS 20
#define CONFIG_SYS_ENV_NAMELEN 16
#define CONFIG_SYS_HISTSIZE (CONFIG_SYS_CBSIZE*2)
+#define CONFIG_SYS_MALLOC_MARGIN 256
#define CONFIG_SYS_PROMPT "-> "
#define CONFIG_SYS_PROMPT_REPEAT "=> "
#define CONFIG_SYS_PROMPT "-> "
#define CONFIG_SYS_PROMPT_REPEAT "=> "