���ߏ�·ϵ��������C(j��)���̵�Ƕ��ʽLinux����˼����D(zhu��n)׃
�P�ߌW(xu��)��(x��)Ƕ��ʽLinuxҲ��һ�Εr�g��������ֵ��Ǻܶ����v�(q��)�Ӿ��̷����֪�R��Ҳ�кܶ�����ARM9�����֪�R�����Ǐ���ǰ51��ʽ��(���Ĵ���ֱ�Ӳ�������ʼ��оƬ�Ĺ���ģ�K)���̷�������˼�Sģʽ��׃�Q�����Linux����ϵ�y(t��ng)�������v�@��˼���D(zhu��n)׃�ĕ����]�У����W(xu��)�����˺ܶ���·��ײ�˺ܶ��y����
�P����ˌ����Լ��ČW(xu��)��(x��)�ĵ���ϣ���ܽo����һ���D(zhu��n)׃��Ƕ��ʽLinux�@�K������һ�c(di��n)���������c(di��n)���T����Ը������
�҂�һ����һ��51��ʽ�ľ��̷�������һ�����ε�LED����:ͨ�^��������l(f��)��һ��ָ����LED���W�q���W�q�l���ɴ��ڰl(f��)�͵�ָ��Q����
�����҂��_ʼ���̣�һ�_ʼ���N��ʼ������ʼ��Ҫ�õĹ���ģ�K��UART��GPIO�����r������ô�͕�ͨ�^�O(sh��)�üĴ����ĸ��Nλ����UART���Þ��Д�ģʽ��GPIO����(y��ng)��LED���_��ݔ��ģʽ�����ڿ���LED���İ���������ʼ�����r���������ư�����l�����������^Ƕ��ʽ��C(j��)���̽�(j��ng)�(y��n)�����т�һ�����X���@�ܺ�����������������˲���ϵ�y(t��ng)�����֑�(y��ng)ԓ��ô�k?
Ƕ��ʽLinux�֞��(q��)�ӌӺ͑�(y��ng)�ó���?q��)ӡ�ʲô���?���һ��ż�� �^����Linux�O(sh��)��IJ�����������ļ�һ�Ӻ��������_�����룬�P(gu��n)�]�� �����Ǻܺ����� ���������Ҳ��֪�������fʲô��
�(q��)�ӌӾ��ஔ(d��ng)���҂���51��ʽ�����еij�ʼ������ģ�K����Linux�����ѽ�(j��ng)�����к���(sh��)���b���ˡ��e�����P���õ�at91sam9260��оƬ���F(xi��n)����Ҫ��PB1 ���_�O(sh��)�Þ�ݔ��ģʽ���ҳ�ʼֵ����ƽ���t�{(di��o)��ϵ�y(t��ng)���b�õĺ���(sh��)��
[cpp]
at91_set_gpio_output(AT91_PIN_PB1, 0);
�@������(sh��)λ��Linux��(n��i)��Դ���a arch/arm/mach-at91,(���õ���at91��оƬ)Ҫ�õ�ʲô����(sh��)�M(j��n)ȥ������arch/arm���кܶ��ļ��A���Ժ���Ҫ�Լ�����(j��)�Լ�������ȥ�x������(y��ng)��оƬ�Һ���(sh��)���@���P���J(r��n)����Linux�����Ի��ĵط�����Ҫ���M(j��n)��ֻ���н�(j��ng)�(y��n)�Ĺ��̎������p���ҵ������W(xu��)�����Ҫ�M(f��i)�ܴ�����
���҂���Щ����r犳�ʼ���Ͳ��Ì��ˣ���Linux����ϵ�y(t��ng)�\(y��n)�еĕr���ѽ�(j��ng)�����ʼ��������߀�д���Ҳ�ѽ�(j��ng)��ʼ����������Linux�Ќ��T�IJ�������(sh��)����ҿ��Կ���Linux�´��ڲ��������P(gu��n)�Y�����@�ﲻ٘������(d��ng)Ȼ�(q��)�ӌ���ɵ�߀��ֻ�@Щ������ʣ�µĹ������v�摪(y��ng)�ó���?q��)�֮���ٽ�B��
��(y��ng)�ó���?q��)ӣ��@��һ����ȫ�cӲ���o�P(gu��n)�ČӴΣ����ஔ(d��ng)���҂�51��ʽ���̵�߉��һ������ô�҂���ô���(q��)�ӌӴ���?��һؑ��Ǿ�Ԓ��������ļ�һ�ӣ�����Ӳ���O(sh��)�����]�e���҂����Dz����ļ���ÿ��Ӳ���O(sh��)���(q��)�ӕ���һ���O(sh��)���ļ�(һ��Ҫ�ք����ɣ��Ԅ�����Ҫ���(q��)���Ќ���Ҳ��)�������҂�?y��u)�LED��ȡһ���O(sh��)���ļ����֞�leds��Ȼ����dev/leds�����@���O(sh��)���ļ�����(y��ng)�ó�����open�������_�ļ������õ��ļ�������fd����ô�Ժ����LED�@���O(sh��)����Dz����@��fd��
[cpp]
fd = open (“dev/leds”, flags);
������ô����fd����������ļ�һ�Ӳ���Ӳ���O(sh��)����?��������C(j��)��!ͨ�^һ���dz���Ҫ�ĺ���(sh��)ioctl�����^���ώ�ƪ���µ����т�һ��֪���@������(sh��)���@���Ǒ�(y��ng)�ó�����(q��)�ӳ���Ľӿ�֮һ��
���O(sh��)�҂����x������ LED_ON��LED_OFF(���x����ķ���Ҋǰ��ƪ����)����ô�҂�ҪLED�W�q���ڑ�(y��ng)�Ì�ֻҪ����
[cpp]
while(1)
{
ioctl(fd,LED_ON);
sleep(1);
ioctl(fd,LED_OFF);
sleep(1);
}
���ڑ�(y��ng)�Ìӿ����@���Dz��Ǻܺ���?���Džs�����(q��)�ӌ��ˡ������f���(q��)�ӌ��������鲻ֻ�dz�ʼ��ģ�K���������e��߀��һ�����ܾ�������ioctl������(j��)����(y��ng)�������M(j��n)������(y��ng)�Ą�����(ioctl�DZ��^��(f��)�s�����@��ֻ���e��һ����ε����ӣ����т�߀��Ҫ�һЩ�����͌�(sh��)�(y��n))���@���Dz����B���r���ij�ʼ���������҂��Լ�����ֱ���{(di��o)��ϵ�y(t��ng)�����ߺ���(sh��)���_(d��)�����t��Ŀ�Ŀ�~~~
�҂��ٴλص��(q��)�ӌ����(q��)�ӌӾ�Ҫ�����@��ioctl�ˣ���?y��n)��?q��)�ӌӿ���ֱ�ӌ�Ӳ��������ݔ�����ƽ�͵��ƽ��
�(q��)�ӵIJ����ͱ��^��(f��)�s�ˣ��@��ֻ�ܺ����v�¸���������?y��n)��@�r�ѽ�(j��ng)��Linux�O(sh��)���(q��)���_�l(f��)�ă�(n��i)������
�P(gu��n)��Linux�O(sh��)���(q��)�ӵĿ��Y(ji��)�����������Ժ��ٌ������h��ҿ��Կ�����Ƕ��Linuxҕ�l��
�@ƪ���µ���ҪĿ�������˼���Ϗ�51��ʽ�ľ����D(zhu��n)׃��Ƕ��ʽLinux����˼����ϣ��������D(zhu��n)׃�^��˼����̤��Ƕ��ʽLinux֮�T!����ȫ���ˆ���ϲ�g��һ���c(di��n)�� ٝ ��!

����admin ����ĕr�g��2018-05-19