新聞中心
IMX6是一種嵌入式處理器,廣泛運(yùn)用于智能家電、智能手環(huán)、智能手表、智能音箱等產(chǎn)品中,在智能硬件領(lǐng)域具有重要的地位。IMX6采用了Linux操作系統(tǒng),讓其具有更加強(qiáng)大的功能和更高的可拓展性。然而,許多人并不熟悉Linux操作系統(tǒng),因此本文將給大家提供一個(gè)IMX6 Linux中文操作指南,幫助大家快速入門。

創(chuàng)新互聯(lián)公司提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì),高端網(wǎng)站設(shè)計(jì),一元廣告等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十余年的網(wǎng)站開(kāi)發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破上千余家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.
一、安裝Linux系統(tǒng)
需要將Linux系統(tǒng)安裝到IMX6處理器中。具體安裝方法可以參考所購(gòu)買的IMX6開(kāi)發(fā)板的說(shuō)明書或是相關(guān)論壇的教程。在此不再贅述。
二、連接電腦
將IMX6開(kāi)發(fā)板通過(guò)USB線連接到電腦上。需要在Windows上安裝驅(qū)動(dòng)程序以便進(jìn)行開(kāi)發(fā)。
三、配置串口
此步驟可以讓IMX6開(kāi)發(fā)板與電腦進(jìn)行通訊。需要在電腦上安裝串口調(diào)試工具,具體可以使用putty、SecureCRT等。根據(jù)開(kāi)發(fā)板說(shuō)明書的內(nèi)容,進(jìn)行串口配置。一般來(lái)說(shuō),串口波特率為115200,數(shù)據(jù)位為8,校驗(yàn)位為None,停止位為1。
四、編譯內(nèi)核
編譯內(nèi)核可以讓開(kāi)發(fā)者定制自己的內(nèi)核。IMX6開(kāi)發(fā)板的內(nèi)核一般由專業(yè)人員進(jìn)行定制,如果需要進(jìn)行內(nèi)核的重新編譯,在此不作詳述。需要注意的是,在編譯內(nèi)核時(shí)需要輸入正確的板子型號(hào),否則出現(xiàn)的錯(cuò)誤將難以排查。
五、使用Ubuntu
IMX6開(kāi)發(fā)板中的Linux系統(tǒng)常常是基于Ubuntu的。因此,熟悉Ubuntu的使用對(duì)于開(kāi)發(fā)者來(lái)說(shuō)是至關(guān)重要的。需要了解如何打開(kāi)終端、安裝軟件、配置網(wǎng)絡(luò)等基本操作,才能夠更好地進(jìn)行開(kāi)發(fā)。
六、應(yīng)用開(kāi)發(fā)
IMX6開(kāi)發(fā)板的應(yīng)用開(kāi)發(fā)一般使用的是C語(yǔ)言和Qt庫(kù)。需要熟悉Qt庫(kù)的使用方法,如界面設(shè)計(jì)、信號(hào)與槽的連接等等。在開(kāi)發(fā)過(guò)程中,需要注意內(nèi)存和性能的問(wèn)題,避免出現(xiàn)卡頓和崩潰等現(xiàn)象。
七、調(diào)試工具
在應(yīng)用開(kāi)發(fā)過(guò)程中,需要用到調(diào)試工具進(jìn)行程序調(diào)試和分析。常用的調(diào)試工具有g(shù)db、strace、tcpdump等。通過(guò)調(diào)試工具可以更快地定位錯(cuò)誤和問(wèn)題,并且排除各種難以排查的故障。
IMX6 Linux中文操作指南中介紹了IMX6開(kāi)發(fā)板的一些基本操作方法,對(duì)于新手用戶來(lái)說(shuō)可以起到快速入門的作用。在實(shí)際開(kāi)發(fā)中,需要結(jié)合自身的需求加以運(yùn)用,逐步掌握開(kāi)發(fā)技能,提高開(kāi)發(fā)效率和質(zhì)量。
相關(guān)問(wèn)題拓展閱讀:
- 怎么燒寫imx6里的efuse?
- 正點(diǎn)原子linux開(kāi)發(fā)板怎么調(diào)試
- imx linux 怎么將像素組成一幀圖像
怎么燒寫imx6里的efuse?
寫eFUSE可以通過(guò)u-boot命令去燒寫. 在Linux BSP文差豎檔包里面, i.MX_6Dual6Quad_Sabre-SD_Linux_User_Guide.pdf 中提到imxotp命令:10.1 How to Fuse in U-Boot U-Boot contains a tool, imxotp, which is used for fusing.U-Boot > imxotpimxotp – One-Time Programable sub-systemUsage:imxotp imxotp read- read fuse at ‘index’imxotp blow – blow fuse at ‘雀慶巖index’ with hex value ‘value’頃御 Tips:’addr’ to ‘index’:convert ‘index’ from ‘a(chǎn)ddress’index = (addr – otp_base) / 0x10 eg, addr is 0x021bc410, otp_base is 0x021bc400, the index = 1 ‘–force’ must be present in order to blow the fuse. Command will abort if ‘–force’ is missing. index = (addr – otp_base) / 0x10, where the addr is the address of the fuse you want to operate, the otp_base is the base address of the fuse block. ‘value’ should correspond to fuse settings according to the fuse map and desired fuse configuration.
efuse的燒寫這部分FSL是沒(méi)有公開(kāi)的,就看手冊(cè)里面的描述,可能會(huì)在你真正燒寫的皮握時(shí)候?qū)π酒斐蓳p壞。更好聯(lián)系FSL進(jìn)行解決。燃咐慶來(lái)自 珠海鼎芯簡(jiǎn)滑科技,最內(nèi)IMX6核心板開(kāi)發(fā)板解決方案更大提供商
關(guān)于eFUSE具體肆爛定虧凳義見(jiàn)《iMX6DQRM.pdf》第46章,P4016。具體的裂空漏配置值,參見(jiàn)《iMX6DQRM.pdf》第5章,P351。
樓主你好,你可以參考一下飛思卡爾的另一個(gè)中文論壇與非網(wǎng)上的帖子imx6 eFUSE的一種燒寫基物方搏配液法,他用賣沖的開(kāi)發(fā)板和你的是一樣的。
正點(diǎn)原子linux開(kāi)發(fā)板怎么調(diào)試
ui
正點(diǎn)原子Linux開(kāi)發(fā)板——Qt串口上位機(jī)實(shí)驗(yàn)
門牙會(huì)稍息
原創(chuàng)
關(guān)注
3點(diǎn)贊·53人閱讀
前言:
最近在學(xué)習(xí)嵌入式qt開(kāi)發(fā),然后跟著教程編寫了一個(gè)簡(jiǎn)單的串口上位機(jī)程序,在編寫的時(shí)候還算比較順利,但在調(diào)試的時(shí)候花了點(diǎn)功夫,折騰了一下午。最后還是理清了思路,解決了問(wèn)題,特寫此博客進(jìn)肆灶斗行記錄和總結(jié)。
串口上位機(jī)界面設(shè)計(jì):
整個(gè)軟件的界面我都是用ui來(lái)設(shè)計(jì)的,其實(shí)也可以用代碼,但是想了想有好多布局相互嵌套比較麻煩。最后就使用了ui界面來(lái)設(shè)計(jì)。
ui界面設(shè)計(jì)
串口上位機(jī)程序功能設(shè)計(jì):
然后像串口對(duì)象初始化,槽函數(shù)裂磨,一些邏輯關(guān)系都用代碼來(lái)實(shí)現(xiàn),頭文件就只有一些變量、槽的定義。
頭文件
#include “widget.h”
#include “ui_widget.h”
#include
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//lcd屏的分辨率是1024X600
this->setFixedSize(QSize(1024, 600));
//new 一個(gè)QSerialPort對(duì)象
serialPort = new QSerialPort(this);
//通過(guò)foreach語(yǔ)句將windows或imx6ull可用串口識(shí)別出來(lái),并添加至對(duì)應(yīng)的下拉選擇框
QStringList serialList;
foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts()){
serialList += info.portName();
}
ui->comboBox->addItems(serialList);
//設(shè)置串口的信號(hào)與槽
connect(serialPort, SIGNAL(readyRead()), this, SLOT(readData()));
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_radioButton_clicked(bool checked)
{
//點(diǎn)擊“打卡串口”button之后的一些串口配置操作,和一些邏輯關(guān)系
if(checked){
//設(shè)置串口端
serialPort->setPortName(ui->comboBox->currentText());
//設(shè)置波特率
serialPort->setBaudRate(ui->comboBox_2->currentText().toInt());
//設(shè)置停止位
serialPort->辯喊setStopBits(QSerialPort::StopBits(ui->comboBox_4->currentText().toInt()));
//設(shè)置數(shù)據(jù)位
serialPort->setDataBits(QSerialPort::DataBits(ui->comboBox_6->currentText().toInt()));
//設(shè)置校驗(yàn)位
switch(ui->comboBox_5->currentIndex()){
case 0:
serialPort->setParity(QSerialPort::Parity::NoParity);
break;
case 1:
serialPort->setParity(QSerialPort::Parity::EvenParity);
break;
case 2:
serialPort->setParity(QSerialPort::Parity::OddParity);
break;
case 3:
serialPort->setParity(QSerialPort::Parity::SpaceParity);
break;
case 4:
serialPort->setParity(QSerialPort::Parity::MarkParity);
break;
default:
break;
}
serialPort->setFlowControl(QSerialPort::NoFlowControl);
if(!serialPort->open(QSerialPort::ReadWrite)){
QMessageBox::about(this, “串口打開(kāi)錯(cuò)誤提示”, “可能被占用了”);
return;
}
//打開(kāi)串口之后其他的選擇按鈕設(shè)置成不可用
ui->comboBox->setEnabled(false);
ui->comboBox_2->setEnabled(false);
ui->comboBox_4->setEnabled(false);
ui->comboBox_5->setEnabled(false);
ui->comboBox_6->setEnabled(false);
ui->radioButton->setText(“關(guān)閉串口”);
}
else{
serialPort->close();
ui->comboBox->setEnabled(true);
ui->comboBox_2->setEnabled(true);
ui->comboBox_4->setEnabled(true);
ui->comboBox_5->setEnabled(true);
ui->comboBox_6->setEnabled(true);
ui->radioButton->setText(“打開(kāi)串口”);
}
}
void Widget::readData()
{
//將串口中的數(shù)據(jù)打印到textBrowser中
ui->textBrowser->insertPlainText(serialPort->readAll());
}
void Widget::on_pushButton_clicked()
{
//點(diǎn)擊“發(fā)送”button之后,將textEdit中的內(nèi)容寫入串口
serialPort->write(ui->textEdit->toPlainText().toUtf8());
}
void Widget::on_pushButton_2_clicked()
{
//清屏操作
ui->textEdit->clear();
ui->textBrowser->clear();
}
登錄后復(fù)制
在windows端編寫好程序之后,將工程文件發(fā)送到ubuntu進(jìn)行qmake、make最后通過(guò)scp將ARM的可執(zhí)行文件發(fā)送到開(kāi)發(fā)板,接下來(lái)就是驗(yàn)證了
我用的是正點(diǎn)原子出廠的系統(tǒng),所以在驗(yàn)證的時(shí)候需要使用到一個(gè)串口來(lái)連接到開(kāi)發(fā)板執(zhí)行編寫好的上位機(jī)程序,所以一個(gè)串口就被占用了,正點(diǎn)原子教程視頻就用開(kāi)發(fā)板的另一個(gè)串口來(lái)進(jìn)行測(cè)試
正點(diǎn)原子教程測(cè)試方式
因?yàn)榉偶倩亓思?,我也沒(méi)有帶太多的東西,u轉(zhuǎn)ttl模塊放在了學(xué)校。所以我在想怎么就用一個(gè)串口來(lái)完成實(shí)驗(yàn)。困擾我的就是唯一的一個(gè)串口必須留個(gè)上位機(jī),然后要怎么執(zhí)行開(kāi)發(fā)板上的串口上位機(jī)程序?最初我想到了可以使用網(wǎng)絡(luò)通過(guò)Xshell遠(yuǎn)程連接到開(kāi)發(fā)板就可以執(zhí)行,唯一的串口就拿來(lái)驗(yàn)證。
解決完上位機(jī)軟件怎么在imx6ull上執(zhí)行的問(wèn)題,接下來(lái)就是驗(yàn)證了。驗(yàn)證的時(shí)候又出現(xiàn)了一些問(wèn)題,上位機(jī)軟件不像想象的那樣一邊發(fā)數(shù)據(jù),一邊就接收對(duì)應(yīng)的數(shù)據(jù),而出現(xiàn)了一些imx6ull的信息,好像還可以輸入命令,感到非常奇怪。
我以為我的軟件有問(wèn)題,就在windows上換了一個(gè)串口軟件,結(jié)果還是出現(xiàn)了類似的情況
最后也是在不斷猜想和測(cè)試之后找到了原因,就是應(yīng)因?yàn)槲以诮o開(kāi)發(fā)板上電的時(shí)候接入了串口線,然后先打開(kāi)了windows上的串口,然后就使用到了串口,導(dǎo)致就相當(dāng)于有一個(gè)串口控制imx6ull開(kāi)發(fā)板,像Xshell中通過(guò)串口連接開(kāi)發(fā)板一樣。然后我嘗試在windows的上位機(jī)軟件輸入命令想打開(kāi)一個(gè)qt程序,最后也是成功打開(kāi)證實(shí)了猜想
執(zhí)行./list命令打開(kāi)了蛇姐list程序(qt程序的路徑是/home/root/qt_project/list)
如果想要實(shí)現(xiàn)實(shí)驗(yàn)最初windows和imx6ull兩個(gè)上位機(jī)互換數(shù)據(jù)的效果的話。要先通過(guò)windows中的上位機(jī)軟件輸入命令來(lái)打開(kāi)imx6ull的上位機(jī)軟件,這樣相當(dāng)于windows中的上位機(jī)連接的就是imx6ull的上位機(jī)了,而不是直接控制imx6ull了,之后就可以正常收發(fā)數(shù)據(jù)了。
總結(jié):
學(xué)了qt快半個(gè)月了,這個(gè)串口上位機(jī)算是一個(gè)比較綜合的練習(xí)了,結(jié)合了ui和代碼設(shè)計(jì)。加上最后的調(diào)試也是收獲頗多,如果有u-ttl模塊的話驗(yàn)證步驟就會(huì)更簡(jiǎn)單。
imx linux 怎么將像素組成一幀圖像
教你一個(gè)方法,你想找某個(gè)方面的資源,就在關(guān)鍵詞后面加詳解兩個(gè)字,通常都能搜到。例如搜FrameBuffer詳解就能得到你要的東西了。至于圖像分塊嘛,自己用memcpy把buffer里的圖像拷貝出來(lái),自己手動(dòng)寫循環(huán)分塊啦。分4塊那就拷貝到4個(gè)內(nèi)存塊里
imx6 linux 中文的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于imx6 linux 中文,IMX6 Linux中文操作指南——讓你快速入門,怎么燒寫imx6里的efuse?,正點(diǎn)原子linux開(kāi)發(fā)板怎么調(diào)試,imx linux 怎么將像素組成一幀圖像的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁(yè)名稱:IMX6Linux中文操作指南——讓你快速入門(imx6linux中文)
URL網(wǎng)址:http://m.fisionsoft.com.cn/article/codogpj.html


咨詢
建站咨詢
