Information

Japanese version available in lower half of this page.
このページの後半に日本語版が用意されています．

What is this?

This is just a file copy helper for HDK-based mbed on Mac OS X 10.10 (Yosemite).
At this moment, the HDK-based mbed boards (other than mbed-LPC1768 and mbed-LPC11U24) cannot be mounted correctly on Yosemite.
If you need to do it on Yosemite, you should execute long command on Terminal.app like next example.

Hi Francesco,
I think you tried the command on terminal, right?
Since I don't have the RedBearLab board, I cannot try.
Your terminal message is meaning "the file cannot be found". Please make sure the file path is correct. If you feel it's troublesome to type the path, you can do it drag&drop also.
It can be done like this. \\
When you need to type the path, just drag and drop (d&d) the file into the terminal window. \\
{{/media/uploads/okano/dnd_bin.png}}
Then you will get the path in the command line. \\
{{/media/uploads/okano/dnd_bin_result.png}}
Same thing can be done for volume also. \\
{{/media/uploads/okano/dnd_vol.png}}
The result of the d&d. The command line got volume name. \\
{{/media/uploads/okano/dnd_vol_result.png}}
Now you can type [return] to execute. \\
{{/media/uploads/okano/executed_fine.png}}
This is easy way to operate the terminal but I still don't like this. That's why I made this droplet. I hope you will try this also.
[[http://developer.mbed.org/media/uploads/okano/mbed-on-yosemite.app.zip]]\\
{{/media/uploads/okano/dnd_into_droplet.png}}

<<quote FranKP2138>>
[www:/Desktop/MBED] xxxxxxx% sudo mount -u -w -o sync sudo mount -u -w -o sync: Command not found.
<</quote>>
It says your shell could not find the 'mount' command.\\
So you need to set "path" first.\\
I think the shell may be set to have the path in default but you may need to do by yourself.\\
In my case, the 'mount' command is stored as '/sbin/mount'. If your environment is same as mine, try..\\
(Please make sure the 'mount' command on your machine)
On 'sh' or 'bash'\\
<<code>>
export PATH="$PATH:/sbin"
<</code>>
\\
If you want to try same thing on 'csh' or 'tcsh', you may nee to execute\\
<<code>>
set path = ($path /sbin)
<</code>>
\\
After executing those command, you can check it by
<<code>>
echo $PATH
<</code>>
The list of your path will be shown.
Once you set the correct path, you can execute the command anytime.
To set those path as permanent, you nee to modify preference file. Please refer to..\\
[[http://www.cyberciti.biz/faq/unix-linux-adding-path/]]

-
-u The -u flag indicates that the status of an already mounted file
system should be changed. Any of the options discussed above
(the -o option) may be changed; also a file system can be changed
from read-only to read-write or vice versa. An attempt to change
from read-write to read-only will fail if any files on the
filesystem are currently open for writing unless the -f flag is
also specified. The set of options is determined by first
extracting the options for the file system from the filesystem
table (see getfsent(3)) then applying any options specified by
the -o argument, and finally applying the -r or -w option.

sync All I/O to the file system should be done synchronously.

update The same as -u; indicate that the status of an already
mounted file system should be changed.

I'm sorry if sometimes I write things not right, but I was not familiar with Unix.
I tried in every way, but the state is always read only:
www:MBED xxxxx$ cp -X /Users/xxxxx/Desktop/my.hex /Volumes/MBED
cp: /Volumes/MBED/my.hex: Read-only file system
www:MBED xxxxx$ sudo mount -u -w -o sync /Volumes/MBED
www:MBED xxxxx$ cp /Users/xxxx/Desktop/my.hex /Volumes/MBED
www:MBED xxxxxx$ ls -a1R
.
..
.fseventsd
.metadata_never_index
System Volume Information
mbed.htm
./.fseventsd:
.
..
no_log
./System Volume Information:
.
..
IndexerVolumeGuid
www:MBED xxxxxxx$
www:MBED xxxxx$ mount -u -w -o sync
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk1 on /Volumes/MBED (msdos, local, nodev, nosuid, read-only, noowners)
or :
www:MBED xxxxx$ sudo mount -u -o -w sync
Password:
mount: unknown special file or file system sync.
-------
-u The -u flag indicates that the status of an already mounted file
system should be changed. Any of the options discussed above
(the -o option) may be changed; also a file system can be changed
from read-only to read-write or vice versa. An attempt to change
from read-write to read-only will fail if any files on the
filesystem are currently open for writing unless the -f flag is
also specified. The set of options is determined by first
extracting the options for the file system from the filesystem
table (see getfsent(3)) then applying any options specified by
the -o argument, and finally applying the -r or -w option.
sync All I/O to the file system should be done synchronously.
update The same as -u; indicate that the status of an already
mounted file system should be changed.

I was getting the error on my ST Nucleo F411RE:
<<code>>
mount: unknown special file or file system /Volumes/NUCLEO/
<</code>>
I had to make the following changes to get this working:
<<code>>
(*
* mbed executable copier for Yosemite
* 01-Nov-2014, tedd
*
* this program is distributed under Apache-2.0 license
* http://opensource.org/licenses/Apache-2.0
*)
on open newFile
set targetPath to "/Volumes/NUCLEO" -- remove trailing slash and change MBED to NUCLEO
set action1 to "sudo mount -u -w -o sync " & targetPath & ";" -- re-mounting the mbed volume
set newFileName to POSIX path of newFile -- get the file name and path in POSIX format
set action2 to "cp -X " & newFileName & " " & targetPath & "/" -- add trailing slash
set comm to action1 & action2 -- concatinate all commands in a string
do shell script comm password "" with administrator privileges -- execute all commands on a shell
end open
<</code>>

Thank you for sharing the modification.
I recommend to add a slash at end of the string : "/Volumes/NUCLEO/" (in line #10).

The last slash will prevent to make unnecessary file if the Nucleo is not connected to PC.

Hi Christopher,
Thank you for sharing the modification. \\
I recommend to **add a slash** at end of the string : {{{"/Volumes/NUCLEO/"}}} (in line #10).\\
The last slash will prevent to make unnecessary file if the Nucleo is not connected to PC.

Hi Tedd,
Adding a slash causes the following error when using Nucleo F411RE (I just tested it again tonight to confirm):
{{/media/uploads/cdwilson/yosemite-mbed-fail.png}}
The only way this works on my Mac is to remove the slash from line 10 above and add it back to line 14 above.
Remove trailing slash:
<<code>>
set targetPath to "/Volumes/NUCLEO" -- remove trailing slash and change MBED to NUCLEO
<</code>>
Add it back here:
<<code>>
set action2 to "cp -X " & newFileName & " " & targetPath & "/" -- add trailing slash
<</code>>
After making these changes, everything works just fine.

Thank you for trying and sharing the information. (Since I don't have NUCLEO, I cannot confirm. Sorry.)

I've got my Nucleo today. (04-Feb-2015)Now the version for Nucleo is available also ;)

Hi Christopher,
Thank you for trying and sharing the information. \\
--(Since I don't have NUCLEO, I cannot confirm. Sorry.)--
I've got my Nucleo today. (04-Feb-2015)\\
__**Now the version for Nucleo is available also ;)**__

Important Information for this Arm website

This site uses cookies to store information on your computer.
By continuing to use our site, you consent to our cookies.
If you are not happy with the use of these cookies, please review our
Cookie Policy
to learn how they can be disabled.
By disabling cookies, some features of the site will not work.