задача bitbake для запуска openocd

Я хочу настроить задачу для рецепта (или отдельного рецепта, если требуется), который позволяет мне запускать openocd для подключения к моей плате разработки.

У меня есть openocd-родной рецепт.

Я создаю задачу, добавленную к моему рецепту, следующим образом:

do_openocd[depends] += "openocd-native:do_populate_sysroot"
addtask openocd after do_image
do_openocd () {
  echo "The thing is ${datadir_native}/openocd"
  echo $(ls -la ${datadir_native}/openocd/scripts/interface)
  echo $(openocd -v)
  echo $(which openocd)
  openocd -f ${datadir_native}/openocd/scripts/interface/altera-usb-blaster2.cfg
}

Это запускает openocd в sysroot системы сборки, как я и ожидал. Однако я не могу заставить свою задачу использовать usr/share в sysroot моей системы сборки. Он просто смотрит на /usr/share/blablabla так, как будто sysroot системы сборки не существует.

altera-usb-blaster2.cfg не существует в usr/share/openocd/scripts/interface/, но существует в ./tmp/sysroots/x86_64-linux/usr/share/openocd/scripts/interface/. (относительно моей папки сборки)

Как настроить задачу для запуска openocd?


person uglyoldbob    schedule 13.08.2018    source источник


Ответы (1)


Я нашел решение.

Я создал задачу python в своем рецепте, написанном на openocd. Для моей конкретной платы я создал модифицированный файл в папке scripts/target.

addtask openocd after do_install
python do_openocd () {
  pathdir = d.getVar("datadir", True)
  comand="openocd -f %s/openocd/scripts/interface/altera-usb-blaster2.cfg -f 
%s/openocd/scripts/target/cyclone.cfg" % (pathdir, pathdir)
  oe_terminal("${SHELL} -c \"%s; if [ \$? -ne 0 ]; then echo 'Command failed.'; 
printf 'Press any key to continue... '; read r; fi\"" % comand, 'Running openocd', d)
}
person uglyoldbob    schedule 14.08.2018