打算在51系统上用bootloader。 采用51单片机,4k的程序空间,运行bootloader。片外放置一个串行的flash,如45db041存放程序代码,bootloader运行时将flash中的代码拷贝到片外64k的ram中(从4k开始存放,EA接高电平,执行完片内程序,执行片外程序)。 bootloader执行完后将程序指针指到4K位置。 问题: 1 系统程序中用到的变量(xdata),在ram中会分配到低4k么,编译器怎么处理。 2 中断初始地址有原来的0x0000偏移到了4k区,可否在编译系统程序时设置,还是在片内程序bootloader中加入跳转
请大家讨论一下可行性,给点建议 |