View unanswered posts | View active topics It is currently Sun Nov 19, 2017 8:44 pm



Reply to topic  [ 88 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9  Next
FreeEMS_Loader 
Author Message
LQFP144 - On Top Of The Game
User avatar

Joined: Mon Feb 11, 2008 10:52 pm
Posts: 549
Location: Arizona
Yes! Give me 2-3 hours.

_________________
You snooze, you lose!


Wed Oct 10, 2012 2:19 pm
Profile YIM
LQFP112 - Up with the play
User avatar

Joined: Mon Sep 24, 2012 8:19 am
Posts: 100
Location: France
no problem
I could not get back to that tomorrow morning so you have all the night ;)


Wed Oct 10, 2012 2:22 pm
Profile
LQFP144 - On Top Of The Game
User avatar

Joined: Mon Feb 11, 2008 10:52 pm
Posts: 549
Location: Arizona
How did you get the file set? If you used git, please run 'git log' the first entry you see should be as follows:

commit 100317afebb1b8402b2e5094cdd259731f893db1
Author: Sean Keys <skeys@ipdatasys.com>
Date: Wed Oct 10 07:46:05 2012 -0700

Removed duplicate entries in qmake file so that overriding commands for target type warings dont occour when building under linux

Let me know.

Thx!

_________________
You snooze, you lose!


Wed Oct 10, 2012 4:02 pm
Profile YIM
LQFP144 - On Top Of The Game
User avatar

Joined: Mon Feb 11, 2008 10:52 pm
Posts: 549
Location: Arizona
oops, if you run 'git pull' and then 'git log' you should end up with that being your first commit :). I was getting ahead of myself .

_________________
You snooze, you lose!


Wed Oct 10, 2012 4:04 pm
Profile YIM
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14871
Location: Home sweet home!
git describe --dirty=-DEV --always

is better, and having git status output is better still.

I've just done an LA log of your loader, and I know why it's slow...

Basically: it's too simple/unsophisticated.

You're sending an S19 record, then reading it back. What you could/should be doing is assembling S19 records into contiguous blocks of memory such that you can do full sized writes of 256 bytes in one shot. I want you to NOT change it, unless the new code comes fully covered with genuine unit tests, as it's too complex to just wing IMO.

Another thing you're doing is erasing the entire device, rather than just the bits you need to. Full erase is 10.7 seconds, compared to the ~3 seconds of erasing that needs to be done.

And because you erase all, and then load/verify you're making extra page change calls, too. With windows shitty IO causing a lag PER TRANSACTION, and you doing 32 times more transactions than me... that explains why you get fucked so badly on windows and I do not.

Additionally, the requests and responses become a larger percentage of the data the smaller you go...

Image

Attach keeps failing, I give up:

http://stuff.fredcooke.com/why.seans.lo ... .logicdata

Fred.

_________________
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!


Wed Oct 10, 2012 4:24 pm
Profile WWW
LQFP144 - On Top Of The Game
User avatar

Joined: Mon Feb 11, 2008 10:52 pm
Posts: 549
Location: Arizona
Yeah "git describe --dirty=-DEV --always" needs to ring true for the serialLib too.

Neat pic.

"Basically: it's too simple/unsophisticated."
Performace was not a concern at the time writing this, at least within reason, so the code is basically as simple as possobile.

"You're sending an S19 record, then reading it back. What you could/should be doing is assembling S19 records into contiguous blocks of memory such that you can do full sized writes of 256 bytes in one shot. I want you to NOT change it, unless the new code comes fully covered with genuine unit tests, as it's too complex to just wing IMO."

This was the simpleest way to get the job done. I read it back for verification, yes writing in block of 16 is not ideal when you can go up to 256 we talked about this a long time ago.

"as it's too complex to just wing IMO" yes, +1

"Another thing you're doing is erasing the entire device, rather than just the bits you need to. Full erase is 10.7 seconds, compared to the ~3 seconds of erasing that needs to be done."
Yeah, again I have known that from day one. This goes back to what I said above "Performace was not a concern at the time writing this, at least within reason, so the code is basically as simple as possobile. " Althought this is much simpler to accomplish than wiring variable block sizes.

_________________
You snooze, you lose!


Wed Oct 10, 2012 4:39 pm
Profile YIM
LQFP144 - On Top Of The Game
User avatar

Joined: Mon Feb 11, 2008 10:52 pm
Posts: 549
Location: Arizona
Bump for flat4power :)

_________________
You snooze, you lose!


Thu Oct 11, 2012 4:59 pm
Profile YIM
LQFP112 - Up with the play
User avatar

Joined: Mon Sep 24, 2012 8:19 am
Posts: 100
Location: France
Sean0 wrote:
How did you get the file set? If you used git, please run 'git log' the first entry you see should be as follows:

commit 100317afebb1b8402b2e5094cdd259731f893db1
Author: Sean Keys <skeys@ipdatasys.com>
Date: Wed Oct 10 07:46:05 2012 -0700

Removed duplicate entries in qmake file so that overriding commands for target type warings dont occour when building under linux

Let me know.

Thx!


Hi,
So I proceed like that :
Code:
root@srv-web-2:~# git clone git://github.com/seank/FreeEMS-SerialIO.git
Cloning into 'FreeEMS-SerialIO'...
remote: Counting objects: 414, done.
remote: Compressing objects: 100% (155/155), done.
remote: Total 414 (delta 262), reused 407 (delta 255)
Receiving objects: 100% (414/414), 353.23 KiB | 341 KiB/s, done.
Resolving deltas: 100% (262/262), done.
root@srv-web-2:~# cd FreeEMS-SerialIO/
root@srv-web-2:~/FreeEMS-SerialIO# qmake && make
Project MESSAGE: Building Release Version
Project MESSAGE: Straight Linux Build
Makefile:298: warning: overriding commands for target `install_target'
Makefile:270: warning: ignoring old commands for target `install_target'
Makefile:306: warning: overriding commands for target `uninstall_target'
Makefile:278: warning: ignoring old commands for target `uninstall_target'
Makefile:318: warning: overriding commands for target `install_headers'
Makefile:286: warning: ignoring old commands for target `install_headers'
Makefile:324: warning: overriding commands for target `uninstall_headers'
Makefile:292: warning: ignoring old commands for target `uninstall_headers'
g++ -c -pipe -Wall -Werror -O2 -D_REENTRANT -Wall -W -fPIC -DQT_WEBKIT -DQT_NO_WARNING_OUTPUT -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4 -Isrc -Isrc/inc -Isrc/inc/public -I. -o AsyncRead.o src/AsyncRead.cpp
src/AsyncRead.cpp: In member function ‘virtual void IPDS::AsyncRead::run()’:
src/AsyncRead.cpp:59:33: error: ‘read’ was not declared in this scope
make: *** [AsyncRead.o] Error 1
root@srv-web-2:~/FreeEMS-SerialIO# git log
commit 36cbde09f2bb105d263d9eaceabcbe702b72c9ae
Author: Sean Keys <skeys@ipdatasys.com>
Date:   Sun Oct 7 08:21:09 2012 -0700

    Lowered the amount of time read() blocks for.  Put in prototype for a findPorts() function along withe some skeleton code


Fri Oct 12, 2012 9:01 am
Profile
LQFP144 - On Top Of The Game
User avatar

Joined: Mon Feb 11, 2008 10:52 pm
Posts: 549
Location: Arizona
'git log' should show :
commit 85e32661d6281c312c8801f2cbe7c7b8c52c172b
Author: Sean Keys <skeys@ipdatasys.com>
Date: Wed Oct 10 07:59:48 2012 -0700

Comment and cleanup qmake file. Override warnings should be suppressed when building on other platforms

first log entry displayed^

What does 'git describe --dirty=-DEV --always' show ?

Any chance I can ssh into your machine? A basic user account would do.

FWIW
seank@dv6500:~/work/workspaceCDT/asyncSerial$ qmake
Project MESSAGE: Building Release Version
Project MESSAGE: Straight Linux Build

_________________
You snooze, you lose!


Fri Oct 12, 2012 2:35 pm
Profile YIM
LQFP112 - Up with the play
User avatar

Joined: Mon Sep 24, 2012 8:19 am
Posts: 100
Location: France
Code:
root@srv-web-2:~/FreeEMS-SerialIO# git describe --dirty=-DEV --always
36cbde0


edit:
PM for ssh access ;)


Fri Oct 12, 2012 2:46 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 88 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9  Next

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software for PTF. ColorizeIt.