Now, programming it. There are very few changes between the '2313 and '4313. Mainly, it's what you'd expect: memory sizes (Flash, SRAM, EEPROM are all doubled), and the device signature is different. Recent versions of AVR-GCC already support the '4313, and so it's relatively straightforward to recompile an existing program (say, the Larson scanner firmware) to run on the '4313. There are some minor inconsistencies between the "io.h" header files for the two chips, and those inconsistencies can cause compiling to fail. For example, the register name "WDTCSR" (for watchdog control register) works on the '2313, but the '4313 io.h file lists that same register name as "WDTCR." So, if you run into a place where AVR-GCC is confused after switching chips, you might be able to solve the issue by comparing that register name in the "io.h" files for the two chips. Now, for programming the chip with avrdude, things are slightly more complicated. Avrdude does not yet natively support the '4313, but fortunately, you can add the new chip definition by editing the avrdude.conf file on your system. (On my Mac, where I use Crosspack as the AVR toolchain, I found that file at /usr/local/CrossPack-AVR/etc/avrdude.conf ) The '4313 code block can be added right below the '2313 code block, and you can download that code block here (via this mailing list post). So, a couple of steps, but works like a charm.
There aren't a whole lot of these to go around right now, but we've put some of our '4313 chips into little dev kits that you can pick up at our store. Let's see how long they last. ;)
online pc repair home computer repair online computer repair
没有评论:
发表评论