Members Login
Username 
 
Password 
    Remember Me  
Post Info TOPIC: Yamaha/Moric single cylinder ecus ?? YZF R125 in mind


Veteran Member

Status: Offline
Posts: 49
Date:
RE: Yamaha/Moric single cylinder ecus ?? YZF R125 in mind


PetriK wrote:

Sure - will test when have time.

The thing why not tested yet ist that after erasing the ecu the FI tool is not connecting which means that its not at least much flashing capable - but lets see.

In busa and most suzukis the external tools only change external eeprom, not flash.



Dear PetriK, if you need i will send to you my spare ECU shipping from Portugal to Filand i think is not much. but if you need i will send mine to you.
my spare is good yet i only burn the USB writer. and buy another one but is not arrive yet.

 



__________________


Veteran Member

Status: Offline
Posts: 68
Date:

@ Petrik:

Isn't FLASH memory also a type of EEPROM? What's the difference between this "External EEPROM" and "FLASH"? I thought there's just FLASH and RAM...


Did you always connect the ECU to the FI tool using the PSU on trick? Because, that's how it should be connected. You must hold the "mode button" on the FI tool pressed and then turn the PS to ECU on.


Also, since the FI tool is designed for limited funtion, like puling only specific data from the ECU, mabe it's not able to recognize the connection as it's not able to find expected program and register values, variables in the ECU(because it's erased already). Maybe a generic BDM pod will still be able to connect.

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

@mikaspt - have been looking for another one over internet, but no luck yet so would appreciate.


__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 49
Date:

PetriK wrote:

@mikaspt - have been looking for another one over internet, but no luck yet so would appreciate.




ok, send me your address so i can shipping the unit to you.

 

 



__________________


Veteran Member

Status: Offline
Posts: 49
Date:

PetriK wrote:

@mikaspt - have been looking for another one over internet, but no luck yet so would appreciate.



if you whant this is ebay link to a yzf r125 ecu for 49£.
if 49£ is too much for the project i send my spare one to you.


__________________


Veteran Member

Status: Offline
Posts: 49
Date:

This is a link for a ecu 19£ if you don't whant this one i will buy for me.

__________________


Veteran Member

Status: Offline
Posts: 49
Date:

i think this is the pinout of ecu connector.
ecuconnectorpins2.jpg



__________________


Veteran Member

Status: Offline
Posts: 49
Date:

i found this page saying that MODA and MODB must be ground for reset.
can you see if this article are a good help?
http://www.noicedebugger.com/help/bdm12.htm#INSTALL
and


-- Edited by mikaspt on Monday 23rd of August 2010 01:56:52 PM

-- Edited by mikaspt on Monday 23rd of August 2010 02:02:12 PM

__________________


Guru

Status: Offline
Posts: 2338
Date:

Thanks, placed an order to Paul at cheshiremotorcyclesalvage. Should be here in a week or so.



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 49
Date:

PetriK wrote:

Thanks, placed an order to Paul at cheshiremotorcyclesalvage. Should be here in a week or so.




 try to use 2k ohms resistor on reset pin and in BKPT pin



__________________


Veteran Member

Status: Offline
Posts: 28
Date:

Have you put a scope on the reset pin to check for an external watchdog?

__________________


Guru

Status: Offline
Posts: 2338
Date:


Good ideas - lets get to testing these when the active racing season is over after next weekend. Unless I attend the last one mile event early next month.


__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

Good luck with the races Petrik!

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:


This seems to be the document that tells what are the programming commands for HCS12:

http://www.freescale.com/files/microcontrollers/doc/app_note/AN2548.pdf

Disconnected the power from BDM, getting reset line is stuck even without any voltage (either BDM or +12V source) to the board.

While waiting for the next ecu to arrive (not heard anything from the supplier), I will open the edge and solder a BDM to my current spare.



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

Did you try this Petrik?

"Disconnect 12V" > "Connect BDM" > "Turn BDM ON(if there's a switch)" > "While BDM is waiting for connection, turn 12V to ECU on"

That is how the FI tool connects to the ECU. Also, have you tried using the pin that the FI tool uses to connect? And, try the above procedure with the spare ECU that you have, there shouldn't be any damage unless you're erasing the memory again! :P


I think this damaged ECU maynot react to the above procedure as expected, because the memory is wiped out, and thus destroying any edge creating or signal detecting mechanism that might be written in the main program.

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

Yep - no reply using the FI Diagnostics tool connector. I think need to hack the protocol first. Should not be too difficult to find out the baud rate and then monitor it...



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

Yeah, once the protocol is hacked, we could probably use the FI tool connector to talk to the ECU.

OT: How'd your races go? Done with the races? Or got anymore pending?

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

Opened a corner of a spare ecu and hooked up only BKGD pin 1 and GND pin 2 and this is what I got when reading it ...

hcs12mem -i tbdml -t mc9s12c64 -o 4Mhz
hcs12mem: Freescale S12 MCU memory loader V1.4.1b1 (C) 2005-2007 Michal Konieczn
y

target info
target mcu family osc
found 5 busses
USB device USB version VID PID device release
USB device manufacturer product
USB device config power max current
TBDML hardware version firmware version
BDM status clock
S12 part id family memory mask
S12 part security backdoor key
S12 register space address range
S12 RAM size space align address range
S12 EEPROM not present
S12 FLASH module state ROMHM
S12 FLASH size space off-chip/on-chip space
S12 FLASH protecction all high area low area

After trying to read eprom then I get a message BDM disabled, which seems to be possible to reset with cycling CPU power.

target info
target mcu family osc
found 5 busses
USB device USB version VID PID device release
USB device manufacturer product
USB device config power max current
TBDML hardware version firmware version
BDM status clock
S12 part id

After cycling the BDM and CPU power this is what I get from read command:



hcs12mem -i tbdml
-t mc9s12c64 -o 4Mhz -e --flash-address banked-linear --flash-read flash.s19
hcs12mem: Freescale S12 MCU memory loader V1.4.1b1 (C) 2005-2007 Michal Konieczn
y

target info
target mcu family osc
found 5 busses
USB device USB version VID PID device release
USB device manufacturer product
USB device config power max current
TBDML hardware version firmware version
BDM status clock
S12 part id family memory mask
S12 part security backdoor key
S12 register space address range
S12 RAM size space align address range
S12 EEPROM not present
S12 FLASH module state ROMHM
S12 FLASH size space off-chip/on-chip space
S12 FLASH protection all high area low area

error: FLASH read not possible - MCU secured (-f option forces the operation)

I think that would like to know a bit more about -f option before appying it in case there are any risks...


----

About this season, there is one top speed run opportunity left but on a very badly organized track so most likely will not go there. My season has been very fragmented as could start the season only in mid june due to problems getting my bike running. The concequence is that those things I normally detect during first days of racing I only detected now when season is already over. So starting to look next year. My all motor best put on the signature for this season, the engine can do better than what I was able to get out of it. You can see that from comparing trap speed to the ET.



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

Looking at your command, I can see you used "hcs12mem -i tbdml -t mc9s12c64 -o 4Mhz". Why'd you use MC9S12C64 when ours is a T64??

There are 2 ways of unsecuring a secured MCU. By mass erasing the non-volatle memory section, and by using backdoor access keys. Since you're only trying the "Read" command, maybe using the -f switch will only force the application to try using any backdoor keys and access the NVM. As this is not a "write" command or "unsecure" command.


Alo, BDM access is blocked in secured MCUs, maybe that answers most of our questions!
Check this out for more info:

http://www.freescale.com/files/microcontrollers/doc/app_note/AN2880.pdf


About the races: That's sad..but there's always a next season! Don't worry, no one can beat your open source skills. The knowledge gathered in an open source environment is always far more than the knowledge created in a closed source environment.




-- Edited by digislayer on Sunday 29th of August 2010 01:14:54 PM

__________________
Sunny.


Veteran Member

Status: Offline
Posts: 68
Date:

Also, check this:

http://forums.freescale.com/t5/16-Bit-Microcontrollers/Securing-amp-Unsecuring-HCS12-E256-Flash-using-AN2880SW/m-p/18707

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

Oh - thanks, completely forgot that I tested various .dat files earlier.

hcs12mem -i tbdml -t mc9s12t64 -o 4Mhz
hcs12mem: Freescale S12 MCU memory loader V1.4.1b1 (C) 2005-2007 Michal Konieczn
y

target info
target mcu family osc
found 5 busses
USB device USB version VID PID device release
USB device manufacturer product
USB device config power max current
TBDML hardware version firmware version
BDM status clock
S12 part id family memory mask
S12 part security backdoor key
S12 register space address range
S12 RAM size space align address range
S12 EEPROM module state
S12 EEPROM size space address range
S12 EEPROM protection all address range
S12 FLASH module state ROMHM
S12 FLASH size space off-chip/on-chip space
S12 FLASH protection all high area low area

----------------------------


Recycling power and this is what happens...


C:\Documents and Settings\petrik\Desktop\yamaha\usbdm\hcs12mem>echo Starting fla
sh memory reader

hcs12mem -i tbdml -t mc9s12t64 -o 4Mhz -e -f --flash-address banked-linear --flash-read flash.s19

hcs12mem: Freescale S12 MCU memory loader V1.4.1b1 (C) 2005-2007 Michal Konieczn
y

target info
target mcu family osc
found 5 busses
USB device USB version VID PID device release
USB device manufacturer product
USB device config power max current
TBDML hardware version firmware version
BDM status clock
S12 part id family memory mask
S12 part security backdoor key
S12 register space address range
S12 RAM size space align address range
S12 EEPROM module state
S12 EEPROM size space address range
S12 EEPROM protection all address range
S12 FLASH module state ROMHM
S12 FLASH size space off-chip/on-chip space
S12 FLASH protection all high area low area

FLASH read: data [##################################################]
FLASH read: data size time rate
FLASH read: data file written

http://macmadigan.no-ip.com/public/yamahar125/flash.s19



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

Damn, does that mean we were succesful??!! Woah! This is making me dance in joy! Congrats to us Petrik! I'm so happy! Thanks a LOT!

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

Not sure yet - the readout is not what I expected. Odd bytes here and there, rather like vector addresses than real code.





__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Guru

Status: Offline
Posts: 2338
Date:

Same here, readout not what expected. I think this is only ram and not yet eeprom.

----------------------


hcs12mem -i tbdml -t mc9s12t64 -o 4Mhz -e -f --eeprom-read eeprom.s19
hcs12mem: Freescale S12 MCU memory loader V1.4.1b1 (C) 2005-2007 Michal Konieczn
y

target info
target mcu family osc
found 5 busses
USB device USB version VID PID device release
USB device manufacturer product
USB device config power max current
TBDML hardware version firmware version
BDM status clock
S12 part id family memory mask
S12 part security backdoor key
S12 register space address range
S12 RAM size space align address range
S12 EEPROM module state
S12 EEPROM size space address range
S12 EEPROM protection all address range
S12 FLASH module state ROMHM
S12 FLASH size space off-chip/on-chip space
S12 FLASH protection all high area low area

EEPROM read: data [##################################################]
EEPROM read: data size time rate
EEPROM read: data file written

http://macmadigan.no-ip.com/public/yamahar125/eeprom.s19



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

184kb of RAM? I don't think so. Maybe we need a little tweaking of the .DAT file? Are we sure the .DAT file is doing good?

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

The files are as those read. I remember seeing something alike with hew with the first ecu. Vector table, ram, ... what ever ?

The issue is that I dont seem to be able to repeat the success with eeprom reading. Reset line is stucked - maybe something to do with ECU locking out the BDM when used for access.

EDIT - after just using two wires to connect to the first ecu and programming a sample project to that I can see alike memory map on same space. Odd hex bytes here and there changing a bit. One reason could be incorrect processor speed ??? Codewarrior seems to set 20Mhz, but xtal is for sure 4Mhz.


EDIT2 - here is what Freescale is writing about the memory structure:
memory_map.jpg

-- Edited by PetriK on Sunday 29th of August 2010 04:42:23 PM

__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

How can vector table be 184kb when the RAM itself is much much smaller? I think it should be mismatch in processor speeds, or else some mistake in the .DAT file which I created. What do you say, from your experience with previous ECUs ?

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

This is the backdoor key record from flash.s19, its all 0x00 including the security bytes.

S2140 FF00 000000000000000000000000000000000EC

Recall codewarrior announcing something about memory "manual secured". Maybe the memory needs to be in a different mode than what it is in default.



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

From what I know, the key should be of 4 parts and not of 3 parts. Did you check the link i gave you above about backdoor keys? It gives very useful info.

EDIT: I meant this link:

http://www.freescale.com/files/microcontrollers/doc/app_note/AN2880.pdf

-- Edited by digislayer on Sunday 29th of August 2010 04:58:19 PM

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

My quick quess is that the processor architechture is same but physical memory size may be different. So therefore all physical locations may be listed.



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Guru

Status: Offline
Posts: 2338
Date:

Dont believe issues with dat, the c64 should work anyway - but getting "reset line stuck" messages. There must be more into this.

Yep, those documents I am familiar with - even though not at all good at writing assembler code.



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

No, the c64 is different. Even I thought c64 should do, but something's very different..forgot what the difference is, and I then ended up researching more and making the t64.dat . Anyways, this is like the max I know about these microcontrollers, I dont have experience with freescale devices.


I'm currently downloading codewarrior, 170MB downloaded..it's slow. How big is the setup file? I'll look into the s19 file once the download is finished. And by the way, I think clock speed should be lesser than the crystal's frequency..right?

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

Yes, I would guess xtal/2, but codewarrior is for a reason or another saying 20Mhz when logging the startup commands. The flashing also fails as it says can not upload the control module, MCU protected. At the bottom of the page I see a note manual protected.

Even though BDM connection does not seem to go smoothly, when the BDM is disconnected the ECU starts and I can see FI Diagnostics Screen to show values. When BDM is connected its more difficult to make ecu to start, but sometimes when turning the power on it starts.

Something very odd here, or BDM just gets blocked after a couple of times misusing it.

Interesting... need more information to have an angle for an attack.





__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

The ECU has two modes: Normal, and Diagnostic. When ECU is in normal mode, you see "RPM/temperature" values on FI tool's screen. When it's in DIAG mode, you see sensor values on the FI tool's screen.

When it's in DIAG mode, the ECU wont start. Meaning, the bike also wont start.

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

Hooked up the BDM interface to a running ecu when Code warrior is in memory monitoring mode. Can see the memory content being changed all the time. Most of the time a memory cell will be 0x00, but then it is changed to some hex values for a while after which its back 0x00. Same number does not appear in same location. It looks like there is a hash algorithm inside the CPU firmware to read memory from a different location - alternatively the memory model where BDM tries to read the ecu is incorrect.

I can read the RPM on FI diagnostics tool while inputting zero cross voltage to the ECU - so know that ECU when seeing the memory.





__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

If you're able to see RPM on the FI tool, it means you havent yet got a dedicated connection to the microcontroller.

Try this, this is how the mode is changed using FI tool:

Step-1) Turn all power to ECU off, connect FI tool to ECU. FI tool will say "waiting for connection"

Step-2) Keep the "Mode button" on FI tool pressed, and turn the power to ECU on.

Step-3) FI tool's display changes, and it will show "CO". Then press "mode" button again very quickly, the display changes to "DIAG". The ECU is now in DIAG mode until the power is turned off. The bike will not turn on as long as the ECU is in DIAG mode. Maybe this is when the ECU is unprotected.


EDIT: I'm unsure whether it is the MODE button that has to be pressed to toggle between CO mode and DIAG mode or if it's the UP/DOWN button that has to be pressed. In Step-3 I mean. I will confirm tomorrow. Step-1 and Step-2 are correct.

-- Edited by digislayer on Sunday 29th of August 2010 06:21:49 PM

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

Non dedicated mode - same with codewarrior memory monitor screen.

Hmmm... The "reset line stuck" may mean that the BDM connection is not really working to make the connection to the ecu. So maybe its possible that there is somehting in the .dat file ?

The good thing is that starting to have options to investigate and making some progress in investigations.

Now need to stop for today.



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

Please try what I wrote in my above post. It might give you an option. Maybe you can try connecting the BDM when the ECU is in DIAG mode. Or maybe you can try reading with hcs12mem while the ECU is in DIAG mode. Or maybe you could use try CodeWarrior with the ECU in DIAG mode.


ANd there's only one thing that I'm not sure about in the .DAT file. It has the INTRM value in it, and I maynot have put the right value there. Can yout ell me what value should be there? Try opening the .DAT file with notepad.

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

Tried the Diag mode process, result is above. .txt file, excellent.

Do you know what these are...
-INITRM
-INITEE
-startup_delay



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 49
Date:

this my codewarrior v5 s12 show

-- Edited by mikaspt on Sunday 29th of August 2010 10:08:48 PM

__________________


Veteran Member

Status: Offline
Posts: 49
Date:

i think the s19 files you get is the memory because almost sure is equal to codewarrior v5 for hs12 show in memory window.

in your command of hcs12mem.exe you must use the unsecure command i think is -u


-- Edited by mikaspt on Sunday 29th of August 2010 10:23:33 PM

-- Edited by mikaspt on Sunday 29th of August 2010 10:46:42 PM

__________________


Veteran Member

Status: Offline
Posts: 49
Date:

thats is afther run unsecure command with sucess.
screenshot052pu.jpg

__________________


Veteran Member

Status: Offline
Posts: 49
Date:

but i think this is the memory of the background debuger pod.


__________________


Veteran Member

Status: Offline
Posts: 68
Date:

PetriK wrote:

Tried the Diag mode process, result is above. .txt file, excellent.

Do you know what these are...
-INITRM
-INITEE
-startup_delay




Where is the TXT file? You haven't attached or linked it... Also, try reading the ECU in CO mode and see what happens. Because, in CO mode the FI tool is able to write CO values permanentlyto the flash memory. Donot know if it writes to the RAM and the code takes it from RAM, or if it directly writes to the FLASH.

INITRM is a register which shows the RAM position.
startup_delay is the delay which is executed during startup. It is used for synchronization of devices..to prevent connecting to the device while it is initializing or starting up.




@Mikaspt: DO NOT try unsecure command without being sure. One of the ways of unsecuring an MCU is by mass-erasing its non volatile memory(flash). So, there's a good possibility that you might erase your ECU! Try the "-f" switch instead. Check your ECU if it is working on the bike.

 



-- Edited by digislayer on Monday 30th of August 2010 01:21:41 AM

__________________
Sunny.


Veteran Member

Status: Offline
Posts: 68
Date:

@ALL:

You need to decode s19 files by following this procedure:
http://forums.freescale.com/t5/CodeWarrior-for-8-and-16-bit/Decode-s-19-files-with-Code-Warrior-5-2-1149/td-p/7672


Decoding cannot be done directly within codewarrior, check the above procedure. I'm leaving to college now, will get back to you guys once I'm back!

__________________
Sunny.


Newbie

Status: Offline
Posts: 4
Date:

hey what is update !!!

__________________


Veteran Member

Status: Offline
Posts: 68
Date:

Petrik and Mikaspt, I'm back from college...any progress so far?

@Sahil: Check the thread for updates.

__________________
Sunny.


Guru

Status: Offline
Posts: 2338
Date:

Did some further tracing to confirm the reset signal and mode setting pins. This board is so small that need magnifying loops for tracing. Now its time to read about modes from processor manual.

- CN2 Pin1 -> Processor pin 7 MODC/BKGD (5V level)
- CN2 Pin2 -> GND (0V level)
- CN2 Pin3 -> Processor pin 8 SPMODE/SCKBDM (0V level)
- CN2 Pin4 -> Processor pin Reset, 1KOhm buffer and then 5KOhm pullup to +5V (3.4V level)
- CN2 Pin5 -> Processor pin 9 SO (0V level )
- CN2 Pin6 -> +5V, Processor pin 77 Vddx (5V level)




__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Guru

Status: Offline
Posts: 2338
Date:


BKGD / TAGHI / SI / MODC Background Debug, Tag High, and Mode Pin The BKGD/TAGHI/SI/MODC pin is used as a pseudo-open-drain pin for the background debug communication. In MCU expanded modes of operation when instruction tagging is on, an input low on this pin during the falling edge of E-clock tags the high half of the instruction word being read into the instruction queue. It is used as a MCU operating mode select pin during reset. The state of this pin is latched to the MODC bit at the rising edge of RESET.

RESET External Reset Pin An active low bidirectional control signal, it acts as an input to initialize the MCU to a known start-up state, and an output when an internal MCU function causes a reset.

SPIMODE/SCKBDM pin This pin is used as serial clock when FBDM is in SPI mode. This pin has an weak on-chip active pull-down that is enabled at all times. FBDM will be in single wire mode as default. Pulling this pin high will put FBDM in SPI mode.

SO pin This pin is used as a serial out data pin when FBDM is in SPI mode. During reset and immediately out of reset this pin will drive low.



__________________

When asking a question, you can also consider posting it to facebook:

http://www.facebook.com/ecueditorcom



Veteran Member

Status: Offline
Posts: 68
Date:

Petrik, you haven't yet attached or linked the TXT file obtained from DIAG mode here. I want to take a look at it..

__________________
Sunny.
«First  <  1 2 3 46  >  Last»  | Page of 6  sorted by
 
Quick Reply

Please log in to post quick replies.

Tweet this page Post to Digg Post to Del.icio.us


Create your own FREE Forum
Report Abuse
Powered by ActiveBoard