Studio 7.0.1188 works miserably for me.

Go To Last Post
10 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I add source files by links, not copies.  I use "folders" to reflect the actual folders where the source files reside.  This works fine with studio 6.2 and earlier versions.  It's also the way Visual Studio does it.

 

However it causes this version of Studio to do crazy things.  I have a hard time getting my projects to build.  If I don't jump through all the right hoops the builds fail because it can't find the .d and .o files.  And I haven't figured out what the right hoops are.  I have to use the time honored trial and error method.

 

I created a simple project with only main.cpp.  I didn't put main.cpp directly into the project.  I put it into a sibling folder I called Test_folder and created a link to it.  This thing builds (glory halleluyah).  Then I closed the solution and re-opened it to give you a peek at what studio does.  This thing builds too (glory halleluyah all over again).   My real projects require a lot of screwing around to get them to build.  Before I get them just right to please studio, I get tons of "can't find .d and can't find .o" errors. 

 

I will include a zip folder of this project.  If you unzip it and build it, you will see the closed and re-opened version, even though I zipped up the original.  You can turn it into the original by sliding main.cpp into the original "Folder" and deleting the extraneous "GccApplication3" folder and the extraneous "Folder".  It should build.  If you close it and re-open it, the extraneous folders will be back.

 

I'll make another post illustrating how bizarre things get with a real world example.

 

 

 

 

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here are pictures of a real world project.  Notice if main.cpp is in the second "System" folder, it builds.  If I move it into the original, it doesn't build. 

 

 

 

 

------ Rebuild All started: Project: GccApplication2, Configuration: Debug AVR ------

Build started.

Project "GccApplication2.cppproj" (Clean target(s)):

Target "Clean" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "W:\Usb_stuff_from_DZ77\Xmega\System\GccApplication2\GccApplication2.cppproj" (entry point):

Using "RunCompilerTask" task from assembly "C:\Program Files (x86)\Atmel\Studio\7.0\Extensions\Application\AvrGCC.dll".

Task "RunCompilerTask"

Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils

C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe clean

rm -rf GccApplication2/System/blink.o GccApplication2/System/char_sequences.o GccApplication2/System/Monitor/new_delete.o GccApplication2/GccApplication2/System/main.o GccApplication2/System/Monitor/command_message_switcher.o GccApplication2/System/Monitor/create_buffer_for_responses.o GccApplication2/System/push_button.o GccApplication2/System/real_time_counter.o GccApplication2/System/send_response.o GccApplication2/System/set_baud_rate.o GccApplication2/System/sleep.o GccApplication2/System/system_clock.o GccApplication2/System/task.o GccApplication2/System/task_switcher.o GccApplication2/System/task_timer.o GccApplication2/System/usart_d0.o

rm -rf GccApplication2/System/blink.d GccApplication2/System/char_sequences.d GccApplication2/System/Monitor/new_delete.d GccApplication2/GccApplication2/System/main.d GccApplication2/System/Monitor/command_message_switcher.d GccApplication2/System/Monitor/create_buffer_for_responses.d GccApplication2/System/push_button.d GccApplication2/System/real_time_counter.d GccApplication2/System/send_response.d GccApplication2/System/set_baud_rate.d GccApplication2/System/sleep.d GccApplication2/System/system_clock.d GccApplication2/System/task.d GccApplication2/System/task_switcher.d GccApplication2/System/task_timer.d GccApplication2/System/usart_d0.d

rm -rf "GccApplication2.elf" "GccApplication2.a" "GccApplication2.hex" "GccApplication2.lss" "GccApplication2.eep" "GccApplication2.map" "GccApplication2.srec" "GccApplication2.usersignatures"

Done executing task "RunCompilerTask".

Done building target "Clean" in project "GccApplication2.cppproj".

Done building project "GccApplication2.cppproj".

Build succeeded.

------ Rebuild All started: Project: GccApplication2, Configuration: Debug AVR ------

Build started.

Project "GccApplication2.cppproj" (default targets):

Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').

Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "W:\Usb_stuff_from_DZ77\Xmega\System\GccApplication2\GccApplication2.cppproj" (target "Build" depends on it):

Task "RunCompilerTask"

Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils

C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs --output-sync

Building file: ../../char_sequences.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/char_sequences.d" -MT"GccApplication2/System/char_sequences.d" -MT"GccApplication2/System/char_sequences.o" -o "GccApplication2/System/char_sequences.o" "../../char_sequences.cpp"

Finished building: ../../char_sequences.cpp

Building file: ../../For_AVR/new_delete.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/Monitor/new_delete.d" -MT"GccApplication2/System/Monitor/new_delete.d" -MT"GccApplication2/System/Monitor/new_delete.o" -o "GccApplication2/System/Monitor/new_delete.o" "../../For_AVR/new_delete.cpp"

Finished building: ../../For_AVR/new_delete.cpp

Building file: ../../push_button.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/push_button.d" -MT"GccApplication2/System/push_button.d" -MT"GccApplication2/System/push_button.o" -o "GccApplication2/System/push_button.o" "../../push_button.cpp"

Finished building: ../../push_button.cpp

Building file: ../../blink.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/blink.d" -MT"GccApplication2/System/blink.d" -MT"GccApplication2/System/blink.o" -o "GccApplication2/System/blink.o" "../../blink.cpp"

Finished building: ../../blink.cpp

Building file: ../../Monitor/create_buffer_for_responses.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/Monitor/create_buffer_for_responses.d" -MT"GccApplication2/System/Monitor/create_buffer_for_responses.d" -MT"GccApplication2/System/Monitor/create_buffer_for_responses.o" -o "GccApplication2/System/Monitor/create_buffer_for_responses.o" "../../Monitor/create_buffer_for_responses.cpp"

Finished building: ../../Monitor/create_buffer_for_responses.cpp

Building file: ../../Monitor/command_message_switcher.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/Monitor/command_message_switcher.d" -MT"GccApplication2/System/Monitor/command_message_switcher.d" -MT"GccApplication2/System/Monitor/command_message_switcher.o" -o "GccApplication2/System/Monitor/command_message_switcher.o" "../../Monitor/command_message_switcher.cpp"

Finished building: ../../Monitor/command_message_switcher.cpp

Building file: ../../task_timer.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/task_timer.d" -MT"GccApplication2/System/task_timer.d" -MT"GccApplication2/System/task_timer.o" -o "GccApplication2/System/task_timer.o" "../../task_timer.cpp"

Finished building: ../../task_timer.cpp

Building file: ../../real_time_counter.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/real_time_counter.d" -MT"GccApplication2/System/real_time_counter.d" -MT"GccApplication2/System/real_time_counter.o" -o "GccApplication2/System/real_time_counter.o" "../../real_time_counter.cpp"

Finished building: ../../real_time_counter.cpp

Building file: ../../send_response.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/send_response.d" -MT"GccApplication2/System/send_response.d" -MT"GccApplication2/System/send_response.o" -o "GccApplication2/System/send_response.o" "../../send_response.cpp"

Finished building: ../../send_response.cpp

Building file: ../../set_baud_rate.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/set_baud_rate.d" -MT"GccApplication2/System/set_baud_rate.d" -MT"GccApplication2/System/set_baud_rate.o" -o "GccApplication2/System/set_baud_rate.o" "../../set_baud_rate.cpp"

Finished building: ../../set_baud_rate.cpp

Building file: ../../system_clock.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/system_clock.d" -MT"GccApplication2/System/system_clock.d" -MT"GccApplication2/System/system_clock.o" -o "GccApplication2/System/system_clock.o" "../../system_clock.cpp"

Finished building: ../../system_clock.cpp

Building file: ../../task.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/task.d" -MT"GccApplication2/System/task.d" -MT"GccApplication2/System/task.o" -o "GccApplication2/System/task.o" "../../task.cpp"

Finished building: ../../task.cpp

Building file: ../../task_switcher.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/task_switcher.d" -MT"GccApplication2/System/task_switcher.d" -MT"GccApplication2/System/task_switcher.o" -o "GccApplication2/System/task_switcher.o" "../../task_switcher.cpp"

Finished building: ../../task_switcher.cpp

Building file: ../../sleep.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/sleep.d" -MT"GccApplication2/System/sleep.d" -MT"GccApplication2/System/sleep.o" -o "GccApplication2/System/sleep.o" "../../sleep.cpp"

Finished building: ../../sleep.cpp

Building file: ../../usart_d0.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/System/usart_d0.d" -MT"GccApplication2/System/usart_d0.d" -MT"GccApplication2/System/usart_d0.o" -o "GccApplication2/System/usart_d0.o" "../../usart_d0.cpp"

Finished building: ../../usart_d0.cpp

Building file: ../../main.cpp

Invoking: AVR8/GNU C Compiler : 4.9.2

W:\Usb_stuff_from_DZ77\Xmega\System\main.cpp(33,4): error: opening dependency file GccApplication2/GccApplication2/System/main.d: No such file or directory

}

^

compilation terminated.

make: *** [GccApplication2/GccApplication2/System/main.o] Error 1

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DDEBUG -I".." -I"../.." -I"../../For_AVR" -I"../../Monitor" -I"../../../Messages" -I"../../USB_CDC_CLEAN" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega128a4u -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\XMEGAA_DFP\1.1.63\gcc\dev\atxmega128a4u" -c -MD -MP -MF "GccApplication2/GccApplication2/System/main.d" -MT"GccApplication2/GccApplication2/System/main.d" -MT"GccApplication2/GccApplication2/System/main.o" -o "GccApplication2/GccApplication2/System/main.o" "../../main.cpp"

W:\Usb_stuff_from_DZ77\Xmega\System\GccApplication2\Debug\Makefile(204,1): error: recipe for target 'GccApplication2/GccApplication2/System/main.o' failed

Done executing task "RunCompilerTask" -- FAILED.

Done building target "CoreBuild" in project "GccApplication2.cppproj" -- FAILED.

Done building project "GccApplication2.cppproj" -- FAILED.

Build FAILED.

========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well I had a few moments to spare and tested your ZIP. It was bereft of the files in your screenshot. but it did build fine and I never actually got it to fail.

 

I then recreated your intentions using a complete new project and set of files. That did not build - giving the dependency file errors you reported. However upon reloading Studio (I guess I only needed to close and re-open the solution. Some extra [placeholder] folders got created and it did build correctly.

 

Screenshot of my Solution Explorer:

 

and after reopening 

 

I guess this is the basis of a bug report; albeit with the simplest of workarounds.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I made my project simple to show that something was wrong.  The real problems happen with a more complicated project. 

 

I notice your project doesn't link to main.cpp.  Files that aren't linked to seem to always work.  But I want to link to everything.

 

The second project took a long time to get working.  Don't you think it's a bit much that it only builds when main.cpp is in the second folder which shouldn't be there,  but everything else works in the first folder.  Also the new_delete.cpp is supposed to be in the For_AVR folder, not the monitor folder.

 

The application I originally tried to get working was an upgrade from studio 6.2.  I never could get it to build.

Last Edited: Wed. Dec 28, 2016 - 07:14 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I figured that main.c would always be project specific and the stuff you link to would be the stuff with commonality like LCD, UART or RTC chip library code.

I did go back and delete main.c and added it again as a link from a different folder and yes the project built fine and also after re-opening.

 

Everything is linked now and it still won't go wrong.

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

With big projects upgraded from 6.2, lots go wrong.  I haven't succeeded in getting any to build.  I get tons of those missing .o and .d errors.

 

I use the same main in all my projects.  My code is portable.  I can run it on the PC as a thread along with my peripheral simulator.  Main has no place there.  Actually my Windows program is a GUI that uses winmain().  That seems stupid, probably a holdover from window's pre NT days.

 

So main just constructs my Executive class where everything is started up.  Well, I do one more thing in main.  I write a pattern in RAM so I can subsequently see how much spare RAM I have.  No place for that in Windows either.

 

There is another bug in the upgrade process that makes builds fail miserably.  I might be able to patch up that one, but then this one takes over.  The upgrade process leaves out the -mmcu argument to the tool chain so it doesn't know what device I have so it fails to find the io.....h file.  To make a long story short, this version of studio is useless to me.

 

I posted that problem here.

https://www.avrfreaks.net/forum/studio-701188-wont-build-my-project

 

The only reply I got was build it from scratch.  Yeah sure.  I could spend a month and there's still no guarantee I'd get it to work.  I'll stick with 6.2.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Regarding the upgrade problem of the other thread, I jammed the -mmcu thing into the toolchain via the "miscellaneous" route, and I got this:

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You'd have to "jam" it into the linker settings also. Plus if you've got any C files in your project "jam" it into the C compiler settings too.

 

An aside question:

You are doing something I've wanted to try for a while now. I read an article somewhere on what the author called  "Dual Targeting" (let me search --- here it is: :http://embeddedgurus.com/state-space/2013/04/dual-targeting-and-agile-prototyping-of-embedded-software-on-windows/) The links to the GUI toolkit mentioned are dead however.

 

How similar is that article to your "peripheral simulator" does ?

 

{Edit Just looked over this again. The PDF link points to a site that's been given a recent makeover and is now Copyright © 2016 Quantum Leaps, LLC  and this is the GUI toolkit http://www.state-machine.com/products/index.html#QWIN }

 

Last Edited: Wed. Dec 28, 2016 - 10:43 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

N.Winterbottom wrote:

You'd have to "jam" it into the linker settings also.

And into the Assembler settings also.  Now it builds just fine.  Thanks.  The Solution Explorer display looks fine too, just like the studio 6.2.  No extraneous folders, and everything in the correct folder.

 

So now I know how to build a 7.0 project.  Build a 6.2 project, upgrade to 7.0, and jam the -mmcu in 3 places.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

N.Winterbottom wrote:

 

How similar is that article to your "peripheral simulator" does ?

 

Basically similar I guess.  I don't use any toolkit.  I wrote my GUI library for NT 4 circa 2000 A.D.  It was written to make visible what was going on inside a big embedded program that ran on a ruggedized PC.  The display is somewhat crude but usually sufficient and quite easy to use.

 

My embedded stuff doesn't usually have much of any user interface when running on the real hardware.  Usually just a blinking LED.  My simulator thread can pop up windows to show things, like the peripheral's registers. 

 

Everybody seems to have their own definition of embedded.  I think of it as having no user interface, like the engine computer in a car.

 

I guess I could say the Butterfly is not embedded.  It has a crude but effective LCD display and a joystick.  When I was programming it, the simulator did show the LCD and a joystick for input.  The display was crude but it did it's job.  Actually I posted some pictures of it a few days ago.

 

https://www.avrfreaks.net/comment/2049831#comment-2049831