Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to upload files after bootloading 644PA #27

Closed
criticalboot opened this issue Jun 24, 2016 · 13 comments
Closed

Unable to upload files after bootloading 644PA #27

criticalboot opened this issue Jun 24, 2016 · 13 comments

Comments

@criticalboot
Copy link

I used 644 16MHz boot loader on 644PA, worked well last time(3 months back), now I got new 644PA chips now when I tried to boot load from Arduino IDE it show successful burning boot loader message, but "Unable to upload sketches".

log:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

I am trying to understand,

  1. How to check boot loader is burned successfully. (Arduino UNO has a led on pin13 which will blink 3 times during boot on power up ).
@MCUdude
Copy link
Owner

MCUdude commented Jun 24, 2016

First turn on verbose compilation and upload in the IDE settings, and post your full error message. It makes it easier for me to help you out. If you want to make sure the bootloader is burnt properly, connect an LED to digital pin 0 (PB0). It should blink twice when you reset the microcontroller

@criticalboot
Copy link
Author

log file attached
ATMEGA644PA-AU.txt

@MCUdude
Copy link
Owner

MCUdude commented Jun 24, 2016

There's no respond on the serial connection. First you need to make sure your bootloader is actually burnt by connecting and LED to PB0. Then you need to make sure your reset circuity is correct (see minimal setup on the README page). Then you need to check your serial connection. is RX/TX swapped?

Please post a picture of your setup

@criticalboot
Copy link
Author

I am using TQFP44 not DIP40, does this make any difference?

LED is connected on PB0, it is not responding, may be bootloading not done.
yes, RX/TX is swapped.

@criticalboot
Copy link
Author

criticalboot commented Jun 24, 2016

Bootloading log attached.
It shows bootloading done without errors, no blink on PB0.
bootloaderlog.txt

@criticalboot
Copy link
Author

criticalboot commented Jun 24, 2016

Through the day today we have been trying various ways to make the 644 bootloader work. Fortunately we were able to boot load it with MicroDuino bootloader.

I am sure you will able to figure out what has changed between your latest 644 bootloader and the working bootloader which worked for us couple of months ago on 644PA-AU TQFP. We will go ahead and use this for our projects while you may want to figure out and fix the 644 bootloader.

Our observation is that the microduino bootloader is apparently meant for TQFP while we guess that your current bootloader is more applicable on DIP. This is what most likely worked for us.

We would love to use your bootloader. Once you fix it please let us know.

Appreciate your inputs and help.

@MCUdude
Copy link
Owner

MCUdude commented Jun 24, 2016

Please post a picture of your setup. It makes it much easier for me to spot errors. The bootloader should work the same on TQFP and DIP packages. are you using a crystal or an oscillator?

@criticalboot
Copy link
Author

Adding pictures of my setup and pin connections as below.
picturesof644paausetupwithmightycore.zip

644PA - AU --> Arduino UNO
1 --> 11 --> MOSI
2 --> 12 --> MISO
3 --> 13 --> SCK
4 --> 10 --> RESET
5 --> VCC --> VCC
6 --> GND --> GND
7 & 8 pins are connected to crystal (16MHz)
40 connected to led via 330 Ohm resistor.

@MCUdude
Copy link
Owner

MCUdude commented Jun 25, 2016

hmm. It looks correct, except there may be a problem with missing decoupling capacitors. Please try burning the 1MHz bootloader. The clock speed and upload speed is much slower, so it tends to work on some circuits where higher speeds may not work

@criticalboot
Copy link
Author

Thank you for reviewing our work,

Decoupling capacitor : We have actually used as per your suggested minimalistic circuit (100nf between VCC and GND) which is probably not visible in the pictures we sent.

Clock Speed : We would love to try with 1MHz boot-loader, but will it work with 16MHz clock speed after boot-loading? The idea is to actually have the final production board to be working at 16MHz. If it works as we want then we are more than willing to try.

However, we are open and willing to try anything that works for us as long as it is practically viable in the production runs.

@MCUdude
Copy link
Owner

MCUdude commented Jun 25, 2016

there's no problem burning the 16MHz bootloader again. Try the 1MHz version and please report back how it goes 😃

@MCUdude
Copy link
Owner

MCUdude commented Jul 11, 2016

Any updates? Did the 1 MHz option work for you?

@criticalboot
Copy link
Author

Sorry for the late reply, 1MHz option also did't work for me.

@MCUdude MCUdude closed this as completed Dec 11, 2016
MCUdude added a commit that referenced this issue Feb 19, 2021
…8b9a

a367b8b9a Merge pull request #32 from cburstedde/feature-exact-timing
e7f9313ce Merge branch 'master' into feature-exact-timing
c24da8fcb Updated accuracy calculation
7efce6186 Replace bit_is_set with "regular" and operation
5fba4671d Minimal accuracy tweaks
0f33b77ce Merge pull request #31 from cburstedde/feature-exact-timing
d10b60393 Update README
299220515 Exact or very accurate millis/micros/delay always
065732108 Non-functional tweaks
0dd91a679 Update README
25fad398a Add exact timing for 9.216 MHz
19b8514f5 Merge branch 'master' into feature-exact-timing
5d4ba89e8 Correct millis and micros for arbitrary frequencies
8913fb360 Add missing parentheses
b622f9856 Add exact timing for 10 MHz
0333bcea5 Update README
5af5045c8 Add accurate timing for 16.5 MHz
e318ce1ca Add exact timing for 6 MHz
0c0b4f3a8 Remove superfluous cast
aeaadea0f Merge pull request #29 from cburstedde/feature-delayMicroseconds
4e74473d7 Merge pull request #28 from cburstedde/feature-correct-micros
6916530f2 Fix several corner cases in delayMicroseconds()
038385eea It makes a difference using unsigned math!!
912145b81 Go back to long multiply but still optimize
909105605 Use faster unsigned int multiply in micros()
eeb6635e7 Merge pull request #27 from cburstedde/feature-exact-timing
21d1d6fa7 README typo
9be3a3e42 Disable alternate micros algorithm for powers of 2
bcd8baa5a Move timer0_exact static variable def into ISR
745508971 Rename correction #define and variable
9fef70e27 Reduce unnecessary long comparison to char
95166c10e Correct bad idea: access fract with interrupts off
f64aa5d03 Remove unneeded unsigned char in micros()
a91536407 White space in wiring.c
f683310fa Make micros zero-drift based on exact millis
b28acdb84 Make 25 MHz a supported clock frequency
2a6c810ce Comments and README edits
7cde04dd0 Merge pull request #26 from cburstedde/feature-delayMicroseconds
0172627e2 Merge branch 'master' into feature-delayMicroseconds
3b1142ffd Merge pull request #25 from cburstedde/feature-correct-micros
e858df7d8 Merge branch 'master' into feature-correct-micros
b32ca2bc5 Merge pull request #24 from cburstedde/feature-correct-millis
0205fd55b delayMicroseconds() safe for us == 0 and >= 24 MHz
032bed72f Statement on delayMicroseconds() in README
afa0f8f69 Use 60398UL unsigned long constant
9b7291ae3 Add 22.1184 and 18 MHz cases to delayMicroseconds
ec16def12 Add/edit comments for delayMicroseconds()
4a89b74ed Replace abs macro ... with a "safe" version of the original abs macro. Unlike __builtin_abs() this also deals with floats, which is pretty much required to ensure compatibility against the official Arduino core(s).
57b7486af Tune ppm values in README
059d20b18 Optimize away two increments from timing ISR
3d890c22d Improve micros() to 100 ppm for 7.37, 3.68, 1.84
d852091be Tiny README update
39112b389 Simplify millis calculation to fit into long int
d1719372c Improve micros() accuracy for 14.7456, 12, 11.0952
84c8f335d micros() below crystal tolerance for 18.432, 20 MHz
b8002ce05 Update README for new/improved micros()
239425178 Make micros calculation more efficient for 20 MHz
d736735fd Add 18 MHz clock to micros()
21cf2177e Improve accuracy of 24 MHz micros()
3b9aa8990 Add 18 MHz clock to millis() calculation
65aa77f4d Fix timing error for non-power-of-two clocks
0091354f8 Add discussion of micros and delay to README
af3b94c79 Non-functional clarification
2568a3f85 Add millis() discussion to README
56512e963 Add millis () correction to make 22.1184 MHz exact
2d42b729d Add 22.1184 MHz micros () correction
46fa6940c Prevent micros for 32 MHz to enter wrong case
49f5f250a Increase micros () accuracy for 18.432 and 20 MHz
b51058fe1 Supply millis () correction for 24 MHz
993843d4d Add two odd frequencies 7.37 and 3.69 MHz
25c1c988b Correction makes millis() exact for several speeds

git-subtree-dir: avr/cores/MCUdude_corefiles
git-subtree-split: a367b8b9ab17653a379108e48d7696bf1c6ca336
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants