📄 avr_bdm.cc
字号:
/* $Id: AVR_BDM.cc,v 1.6 2000/10/01 17:00:42 pure Exp $ */#include "AVR_BDM.h"AVR_BDM::AVR_BDM(unsigned _ramsize, unsigned _romsize, unsigned _model, unsigned _mhz) : AVR(_ramsize, _romsize, _model, _mhz), Thread(){ break_signal = running = 0; codesize = _romsize / 2; bp = new char[codesize]; arise();}AVR_BDM::~AVR_BDM(){ delete bp;}void AVR_BDM::setbp(int pc){ if ((!running) && (pc >= 0) && (pc < codesize)) bp[pc] = 1;}void AVR_BDM::clearbp(int pc){ if (!running) { if ((pc >= 0) && (pc < codesize)) bp[pc] = 0; if (pc == -1) for (int n = 0; n < codesize; n++) bp[n] = 0; }}void AVR_BDM::singlestep(){ if (!running) execute();}void AVR_BDM::run(){ break_signal = 0; running = 1; sem_run.signal();}void AVR_BDM::stop(){ if (running) { break_signal = 1; sem_stopped.wait(); running = 0; }}void AVR_BDM::action(){ while(1) { sem_run.wait(); while (!break_signal) { execute(); } sem_stopped.signal(); }}void AVR_BDM::load(const char* name){ FILE* fp = fopen(name, "r"); if (!fp) return; int addr = 0; int c; while ((c = fgetc(fp)) != -1) { ROM.writeb(addr++, c); } fclose(fp);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -